Benim web uygulaması çözümü 3 projeden oluşmaktadır Database Layer
'daki Entity Framework
tarafından oluşturulan DataContext
'un ömrünü yönetmek için Ninject'i kullanmak istiyorum.Bağımlılık Enjeksiyon ne kadar uzaklıktadır?</p> <ol> <li>Web Uygulaması (ASP.NET MVC)</li> <li>İş Mantığı Katmanı (Sınıf Kitaplığı)</li> <li>Veritabanı Katmanı (Varlık Framework)</li> </ol> <p>:
İş Mantığı katmanı, depoları (veritabanı katmanında bulunur) referans veren sınıflardan oluşur ve ASP.NET MVC uygulamasında, kod çalıştırmak için iş mantığı katmanının hizmet sınıflarına başvurulur. Her depo Web'den uzun bağımlılık zincirinin rağmen MyDataContext
ömrünü işlemek
public class BizLogicClass
{
private MyRepository repos;
public MyRepository
{
this.repos = new MyRepository();
}
// do stuff with the repos
}
Will Ninject
public class MyRepository
{
private MyDataContext db;
public MyRepository
{
this.db = new MyDataContext();
}
// methods
}
İş Mantığı Sınıflar
Varlık ÇerçeveRepository MyDataContext
nesnesinin bir örneğini oluşturur Veri Katmanı için App?
demek? – jfar
@jfar: Birkaç dakika önce kontrol ettim ve kernel.Get <> 'i çağırmak bana iki kez aynı isteği verdi. Daha önce problemlerin ne olduğunu tam olarak hatırlamıyorum ama bir şekilde kullanmamaya karar verdim. Bu arada yeni kaynaklar indirdim, ancak bugüne kadar kontrol etmedim, bu yüzden uygun bir şekilde düzeltildi. – LukLed