2010-12-06 6 views
10

У меня есть код ниже Один привязан к моему репозиторию пользователей, а другой к кешу. Какую область действия я должен использовать для UserRepository и Cache. Должна ли область охвата UserRepository быть Singleton?Ninject, Bind должно быть .InRequestScope() ИЛИ .InSingletonScope()

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

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

ответ

11

Обычно репозитории привязаны к inququestscope, потому что это обычно определяет единицу работы или размер транзакции базы данных.

Обновление: здесь представлена ​​более подробная информация об управлении критическими ресурсами с помощью ninject. Я столкнулся с этим, привязывая свой repos inrequestscope.

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

Боб

+0

Fixed ссылку. – rcravens 2017-02-15 19:59:49

Смежные вопросы