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

Görünüm: 23713|Yanıt: 1

[Kaynak] Autofac "Dairesel bileşen bağımlılığı tespit edildi" hatası çözüldü

[Bağlantıyı kopyala]
2019-11-19 tarihinde 11:10:28 tarihinde yayınlandı | | | |
DependencyResolutionException: Circular component dependency detected: Dolphin.WebUI.Controllers.HomeController -> Dolphin.Service.AccountService -> Dolphin.Service.OrderService -> Dolphin.Service.OrderService.



Hata senaryosu: Autofac IOC çerçevesi PropertiesAutowired property injection kullanıldığında, bu hata kodu iki tür birbirine atıfta bulunmasından kaynaklanıyor, bu yüzden özellik enjeksiyonu için Autofac kullanırken döngüsel bağımlılıklara izin verecek şekilde davranışı ayarlamamız gerekiyor. Kod şöyledir




Bu hatayı çözmek için sadece PropertyWiringOptions.AllowCircularDependencies adresini ekleyin




Önceki:Docker konteyneri harici ana hizmetlere erişmek için
Önümüzdeki:Kayıt yaptırmak için kasıtlı olarak para harcamak, harcanacak kaynaklar sadece aldatıcıdır
 Ev sahibi| 2019-11-20 tarihinde 10:43:12 tarihinde yayınlandı |


AsImplementedInterfaces() bir arayüz olarak enjekte edilir ve bu sınıfların tüm ortak arayüzlerini bir hizmet olarak enjekte eder (kaynakların serbest bırakılması hariç)

A:IA

Yapımcı. RegisterType<A>(). Uygulanan Arayüzler();IA kullanıldığında, A'nın bir örneği geri döner, yani kendi örneği enjekte edilir
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