Ninject, Bind должен быть .InRequestScope () ИЛИ .InSingletonScope () - PullRequest
10 голосов
/ 06 декабря 2010

У меня есть код ниже. Один привязывается к моему репозиторию пользователей, а другой - к кешу.Какую область я должен использовать для UserRepository и Cache.Должен ли Scope в UserRepository быть Singleton?

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

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

1 Ответ

12 голосов
/ 06 декабря 2010

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

Обновление: здесь есть немного больше информации об управлении критическими ресурсами с помощью ninject.Я столкнулся с этим во время привязки моего репо в Inququestscope.

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

Боб

...