Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 253|Yanıt: 0

[ASP.NET] ASP.NET Core (32), KeyedServices anahtar servislerinin enjekte edilmesine dayanır

[Bağlantıyı kopyala]
2025-10-11 tarihinde 11:15:07 tarihinde yayınlandı | | | |
KeyedServices nedir?

Bağımlılık enjeksiyonu (DI) ASP.NET Core'da her yerdedir. Özel servisler için kullanabilirsiniz, ancak daha önemlisi, framework'un kendisi de her zaman DI kullanır. ASP.NET Core'da yapılandırabileceğiniz çoğu şey DI üzerinden yapılandırılıyor.

Anahtarlı hizmetler için, başka bir bilgi ServiceDescriptor'da saklanır; bu ServiceKey, hizmeti tanımlamak için kullanılan ServiceKey'dir. Anahtar herhangi bir nesne olabilir, ancak genellikle string veya enum (sabit olabilir, bu yüzden özelliklerde kullanılabilir). Anahtarsız hizmetler için kimlik kaydı; Anahtarlama hizmetleri için, ServiceType ile birleşik kimlik kaydı kayıtlıdır. ServiceTypeServiceKey。

Anahtarlama hizmeti, bağımlılık enjeksiyonu (DI) hizmetlerini kaydetmek ve almak için anahtarlar kullanan bir mekanizmayı ifade eder. Bir anahtarla ilişkilendirilen AddKeyedSingleton (veya AddKeyedScoped veya AddKeyedTransient) adresini arayarak bir hizmeti kaydedin. Kayıtlı servise erişmek için anahtarı belirtmek için [FromKeyedServices] özelliğini kullanın.

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

KeyedServices testi

Bildirim göndermek için yeni bir arayüz oluşturun, e-posta, SMS ve mesaj push yöntemlerini uygulayın, anahtar hizmet üzerinden kayıt yaptırın ve hizmet kimliğini belirterek özel uygulamasını çağırın; kod şu şekildedir:
Aşağıda gösterildiği gibi uygulan:



Bir yapıcı aracılığıyla kodu enjekte etmek şöyledir:

Referans:
Bağlantı girişi görünür.
Bağlantı girişi görünür.




Önceki:OneKey Pro kripto para donanım cüzdanı satın alma eğitimi
Önümüzdeki:Linux sunucuları, logrotate'a göre nginx loglarını kesiyor
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com