Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ninject, Bind should be .InRequestScope() OR .InSingletonScope()

I have Below code One is bindable to my User Repository and another for Cache. What scope should I use for UserRepository and Cache. Should Scope on UserRepository be Singleton?

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

    this.Bind<IDistributedCacheService>().To<DistributedCacheService>().InSingletonScope();
like image 757
Pirzada Avatar asked Dec 06 '10 04:12

Pirzada


1 Answers

Usually the repositories are bound inrequestscope because that generally defines the unit of work or database transaction size.

Update: Here is a bit more information on managing critical resources using ninject. I ran into this while binding my repos inrequestscope.

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

Bob

like image 125
rcravens Avatar answered Nov 14 '22 14:11

rcravens