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

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

[.NET Core] ASP.NET Core, IOC enjeksiyonunu uygulamak için Autofac kullanır

[Bağlantıyı kopyala]
Yayınlandı 7.05.2019 16:32:23 | | | |
ASP.NET Çekirdek bağımlılık enjeksiyonu, beraberinde gelen IOC konteynerini kullanır
https://www.itsvse.com/thread-7562-1-1.html
(Kaynak: Architect_Programmer)

ASP.NET Core, IOC enjeksiyonunu uygulamak için Autofac kullanır
https://www.itsvse.com/thread-7563-1-1.html
(Kaynak: Architect_Programmer)

ASP.NET Core, AOP müdahalesini uygulamak için Autofac kullanır
https://www.itsvse.com/thread-7566-1-1.html
(Kaynak: Architect_Programmer)

ASP.NET Core ile gelen IOC konteyneri hafiftir ve çok fazla fonksiyon yoktur, sadece temel fonksiyonlar vardır.

Bu makale, hem yapıcılar hem de öznitelik enjeksiyonunu açıklamak için Autofac kullanacaktır.

Autofac, Microsoft .NET 4.5, Silverlight 5, Windows Store uygulamaları ve Windows Phone 8 uygulamaları için harika bir IoC konteyneri. Sınıflar arasındaki bağımlılıkları yönetebilir, böylece uygulama ölçek ve karmaşıklık büyüdükçe kolayca değiştirilebilir. Uygula.

Projenin .NET Core sürümü: 2.1.301

Autofac.Extensions.DependencyInjection kur

Nuget ile aşağıdaki komutla kur:



3 arayüz ve 3 uygulama sınıfını rastgele yazdık, aşağıdaki gibi:



Kontrolör üretici enjeksiyonu

Öncelikle, Startup'ta ConfigureServices kodunu şu şekilde değiştirelim:

Not: ConfigureServices'in iade değeri IServiceProvider olarak değiştirilmiştir.

Kontrolör Kodu:

Projeyi aşağıda gösterildiği gibi yürütün:



Kontrolör Autofac öznitelik enjeksiyonu

Startup'ta ConfigureServices metodunu aşağıdaki şekilde değiştirin:

Kontrolör Kodu:

Projeyi aşağıda gösterildiği gibi yürütün:



Dikkat edilmesi gereken önemli noktalar:

  • hizmetler. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • HalkaITestService1 _testService1 { get; set; }


Hizmet arayüzünü başta özel olarak ayarladığım için, enjeksiyon her zaman null oluyor.

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




Önceki:ASP.NET Çekirdek bağımlılık enjeksiyonu, beraberinde gelen IOC konteynerini kullanır
Önümüzdeki:ASP.NET Core ILogger Log Kullanım Eğitimi
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