Я пытаюсь использовать SimpleInjector с OWIN в проекте WebAPI. Однако, следующая строка в ConfigureAuth
не удаетсяWebApi + Simple Injector + OWIN
app.CreatePerOwinContext(container.GetInstance<ApplicationUserManager>);
Исключение составляет ApplicationUserManager зарегистрирован как «Web API Request» образ жизни, но экземпляр запрашивается вне контекста Web API запроса.
Я использую container.RegisterWebApiRequest<ApplicationUserManager>();
в инициализации контейнера. (Там не будет каких-либо исключений, если я использую Register
вместо RegisterWebApiRequest
, но это не является предпочтительным способом согласно simple injector docs)
Как я понимаю, ApplicationUserManager
должен быть зарегистрирован с помощью CreatePerOwinContext
для Owin, чтобы работать должным образом. Интересно, как мы это делаем, используя Simple Injector, учитывая, что Simple Injector не может разрешать экземпляры во время запуска.
Я уже пробовал метод в this SO answer, но он не работает с тем же сообщением.
Любая идея, как я могу это решить?
У вас есть полный пример где-то посмотреть, я пытаюсь сделать что-то очень похожее, но я также использую IdentityServer3, обработчик - атрибут для управления версиями. – OutOFTouch
Можете ли вы представить полный пример для Owin + MVC + SimpleInjector? – Jerome2606