我有下面的代码一个可以绑定到我的用户存储库,另一个可以绑定到Cache。我应该为UserRepository和Cache使用什么范围。 UserRepository上的Scope应该是Singleton吗?
this.Bind<IUserRepository>().To<UserRepositary>().InRequestScope();
this.Bind<IDistributedCacheService>().To<DistributedCacheService>().InSingletonScope();
答案 0 :(得分:11)
通常,存储库在inrequestscope中绑定,因为它通常定义工作单元或数据库事务大小。
更新:以下是有关使用ninject管理关键资源的更多信息。我在绑定我的repos inrequestscope时碰到了这个。
http://bobcravens.com/2010/11/using-ninject-to-manage-critical-resources/
鲍勃