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

Pir*_*ada 10 ninject-2 asp.net-mvc-3

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

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

    this.Bind<IDistributedCacheService>().To<DistributedCacheService>().InSingletonScope();
Run Code Online (Sandbox Code Playgroud)

rcr*_*ens 12

通常,存储库是在请求范围内绑定的,因为它通常定义工作单元或数据库事务大小.

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

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

短发