Ninject,Bind应该是.InRequestScope()OR .InSingletonScope()

时间:2010-12-06 04:28:15

标签: asp.net-mvc-3 ninject-2

我有下面的代码一个可以绑定到我的用户存储库,另一个可以绑定到Cache。我应该为UserRepository和Cache使用什么范围。 UserRepository上的Scope应该是Singleton吗?

    this.Bind<IUserRepository>().To<UserRepositary>().InRequestScope();

    this.Bind<IDistributedCacheService>().To<DistributedCacheService>().InSingletonScope();

1 个答案:

答案 0 :(得分:11)

通常,存储库在inrequestscope中绑定,因为它通常定义工作单元或数据库事务大小。

更新:以下是有关使用ninject管理关键资源的更多信息。我在绑定我的repos inrequestscope时碰到了这个。

http://bobcravens.com/2010/11/using-ninject-to-manage-critical-resources/

鲍勃