2010-06-29 5 views
7

ASP.Net web formları ve ASP.Net MVC'yi birleştiren bir projede Ninject kullanmak istiyorum. Ninject 2 kullanıyorum, ancak Ninject.Web.Mvc gelen NinjectHttpApplication kullandığınızda, Çekirdek oluşturmayan bir PageBase gibi bazı şeyleri kullandığımda şikayet ediyor.ASP.Net webforms ve MVC ile Orijinallik

Global.asax'ta aşağıdakilere sahibim ve nelerin ekleneceğinden emin değilim.

public class MvcApplication : Ninject.Web.Mvc.NinjectHttpApplication 
{ 
    protected override void OnApplicationStarted() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     RegisterRoutes(RouteTable.Routes); 
     RegisterAllControllersIn(Assembly.GetExecutingAssembly()); 
    } 

    protected override Ninject.IKernel CreateKernel() 
    { 
     return new StandardKernel(new ServiceModule()); 
    } 
} 

Birisi bunun üzerinde bazı düşünceler veya kodları paylaşabilecek bir yerde çalışıyor mu?

cevap

2

:

http://groups.google.com/group/ninject/browse_thread/thread/317fc48387399aa6

kısacası cevabı, maalesef değil mi Gerçekten mümkün. Ancak özel bir PageBase sınıfı ile mümkün Mülkiyet ve Yöntem enjeksiyon yapabilir (Ninject Posta Listesi Nate Kohari cevabı itibaren):

burada
public abstract class PageBase : Page 
{ 
    public IKernel Kernel { get; private set; } 
    public PageBase() { Kernel = ...; } 
    public void Page_Init() { Kernel.Inject(this); } 
} 
1

1) MVC ve non-Mvc Ninject Extensions ikisi için kaynağında göz - Kod çok kısa ve düzgün

2) Ninject posta listesine gidin ve birlikte bu soruyu sormak neyi Kaynaktan öğrendin. bir cevap veya yıldırım bir yama var olacak hızlı

Ruben söylediğim gibi, Ninject Posta listesinde bir mesaj koyduk
+0

Cevabınız için teşekkür ederiz. 1 tane yaptım ve iki HttpApplications biriyle birleştirmeyi denedim. Ama bu "doğru hissetmiyor" değil. Ninject Mail listesine bir mesaj yazdım, yararlı bir yanıt aldığımda size haber vereceğim. –