2011-01-22 70 views
1

我試圖按照本教程http://damianm.com/tech/nhibernate-mvc-and-ninject/轉換這個ninject 1.0代碼ninject 2.0

,但我遇到了一些問題,我相信他們都涉及到改變的是在那裏做,當他們發佈了2.0

我從來沒有使用ninject 1.0,我一直在使用ninject 2.0少於一週,所以我覺得很難轉換。

我覺得這

//1.0 
    Bind<ISessionFactory>().ToProvider(new SessionFactoryProvider()).Using<SingletonBehavior>(); 

需要改變,以

//2.0 
     Bind<ISessionFactory>().ToProvider(new SessionFactoryProvider()).InSingletonScope(); 

//1.0 
    Bind<ISession>().ToProvider(new SessionProvider()).Using<OnePerRequestBehavior>(); 

//2.0 
    Bind<ISession>().ToProvider(new SessionProvider()).InRequestScope(); 

這些那些我無法找到他們會是什麼

// 1.0 -SimpleProvider 
public class SessionProvider : SimpleProvider<ISession> 
public class SessionFactoryProvider : SimpleProvider<ISessionFactory> 

以上是我確定到目前爲止一個什麼需要轉換。

我也看到了這個在他的倉庫類中的一個

Bind<IRepository<Post>>().To<Repository<Post>>(); 

我不知道是什麼真的是。

回答

2

SimpleProvider改爲提供商然後

public class SessionProvider : Provider<ISession> 
public class SessionFactoryProvider : Provider<ISessionFactory> 
+1

謝謝我是正確的。我想知道你是否知道InRequestScope();會自動關閉像nhibernate會話的東西? – chobo2 2011-01-25 00:53:30