asp.net-mvc-3ninject-2

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();

Solution

  • 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