Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk menyelesaikan pelbagai pelaksanaan perkhidmatan dengan kekunci tersuai dalam teras ASP.NET?

Bagaimana untuk menyelesaikan pelbagai pelaksanaan perkhidmatan dengan kekunci tersuai dalam teras ASP.NET?

Patricia Arquette
Lepaskan: 2025-01-29 21:16:11
asal
620 orang telah melayarinya

How to Resolve Multiple Service Implementations with Custom Keys in ASP.NET Core?

Gunakan kekunci tersuai untuk menyelesaikan pelbagai perkhidmatan di Asp.Net Core untuk mencapai

Apabila mendaftarkan pelbagai pelaksanaan khusus antara muka yang sama dalam teras ASP.NET, anda mungkin menghadapi definisi kunci unik untuk membezakan sekatan mereka. Walau bagaimanapun, anda boleh menggunakan Suruhanjaya untuk menganalisis pelaksanaan yang sesuai apabila runtime untuk menyelesaikan masalah ini.

untuk ini, sila ikuti langkah -langkah di bawah:

    Definisi dan Suruhanjaya Perkongsian:
  1. Buat komisen yang dipanggil

    , ia menerima kunci dan mengembalikan contoh
      .
    • ServiceResolver IService
    mendaftarkan kunci pelaksanaan dan pemetaan tertentu:
  2. Gunakan untuk mendaftarkan setiap pelaksanaan khusus dalam fail .

      Tambah pendaftaran
    • Inspektor. Dalam pendaftaran ini, gunakan pernyataan untuk menggunakan AddTransient untuk memetakan kunci kepada pelaksanaan khusus yang sepadan. Startup.cs
    • ServiceResolver switch Gunakan Serveresolver: GetService
  3. di kelas yang didaftarkan melalui DI, gunakan
  4. untuk mendapatkan pelaksanaan sebenar. Lulus kunci yang betul sebagai parameter kepada parser.

      Contoh:
    • ServiceResolver
    <:> NOTA:
  5. Penyelesaian ini tidak akan menyelesaikan masalah pembina suntikan data semasa tempoh pendaftaran. Atas sebab ini, sila pertimbangkan untuk meneroka mekanisme lain, seperti
atau pelaksanaan kontena adat.

Sambutan yang disemak ini mengekalkan imej dan format asalnya semasa berehat

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan pelbagai pelaksanaan perkhidmatan dengan kekunci tersuai dalam teras ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan