Отсутствует Ninject InRequestScope - PullRequest
       17

Отсутствует Ninject InRequestScope

34 голосов
/ 02 августа 2011

У вас есть пара вопросов относительно последней версии (2.2.1.4) ninject.

Пытался привязать Linq2sql DataContext к конкретной реализации InRequestScope (в проекте библиотеки классов)

Bind<DataContext>().To<MoneywatchDataContext>()

но не смог найти InRequestScope метод

enter image description here

в итоге сделал это,

Bind<DataContext>().To<MoneywatchDataContext>().InScope(ctx => HttpContext.Current)

Просто хотел узнать, если:

  1. Если это будет вести себя точно так же, как метод InRequestScope.
  2. Это гарантирует, что когда мой HTTContext.Current будет собран GC, базовый DataCotext также будет удален.

Ответы [ 3 ]

47 голосов
/ 27 марта 2012

InRequestScope доступен как метод расширения в Ninject.Web.Common. Так что, если раньше устанавливалось через Nuget (пакет Ninject), теперь нам может потребоваться установить дополнительный пакет nuget Ninject.Web.Common

33 голосов
/ 14 декабря 2012
using Ninject.Web.Common;    // that's most likely all you need
23 голосов
/ 02 августа 2011

Скорее всего, вы ссылаетесь на веб-версию Ninject. Замените его обычной версией, и у вас будет метод расширения InRequestScope.

...