У меня есть простое приложение с Nancy и Nancy.Bootstrappers.Ninject. Мы должны использовать Ninject, потому что веб-приложение является частью более широкого набора приложений, которые уже используют Ninject.Как мне заставить Нэнси распоряжаться объектами InRequestScope() 'при использовании Nancy.Bootstrappers.Ninject?
Я пробовал различные настройки:
- Просто
Nancy
иNancy.Bootstrappers.Ninject
- С
Ninject.Web.Common
, который регистрирует дваHttpModules
с помощью веб-активатор - Переопределелив
GetApplicationContainer()
и возвращает ядро, которое создаетсяNinject.Web.Common
Связывание так же просто, как
protected override void ConfigureRequestContainer(IKernel kernel, NancyContext context)
{
kernel.Bind<IRepository>().To<Repository>().InRequestScope();
}
и находится в моем обычном загрузочном устройстве Нэнси. IRepository
распространяется IDisposable
, конечно.
Но ни одна из этих установок не была вызвана методом Dispose()
моего вызываемого Repository
.
Каков правильный способ установки привязок по запросу, вызывающих Dispose()
после того, как запрос был завершен?
@RobSiklos Цветы не доступны как пакет NuGet, это не вариант ... – theDmi