2010-12-06 4 views
10

J'ai ci-dessous le code One est liable à mon User Repository et un autre pour Cache. Quelle étendue dois-je utiliser pour UserRepository et Cache? Devrait Portée sur UserRepository être Singleton?Ninject, Bind doit être .InRequestScope() OU .InSingletonScope()

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

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

Répondre

11

Habituellement, les référentiels sont liés enrequestscope car ils définissent généralement l'unité de travail ou la taille de la transaction de base de données.

Mise à jour: Voici un peu plus d'informations sur la gestion des ressources critiques en utilisant ninject. J'ai couru dans ceci en liant mes repos inrequestscope.

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

Bob

+0

fixe le lien. – rcravens

Questions connexes