Я создаю WEB API, который будет работать с независимой инъекцией зависимостей и аутентификацией на основе токенов OWIN. Мой контроллер веб-API имеет только один конструктор, который ожидает объект DbContext от ninject в качестве параметра. Пока я не добавлю элемент запуска OWIN в Project, WebAPI работает успешно. Но когда я добавляю элемент запуска OWIN и пытаюсь запросить контроллер WebAPI, я получаю сообщение об ошибке ниже.
Первая ошибка
Согласно моим исследованиям, некоторые люди советовали установить пакеты Ninject.Web.Common.OwinHost и Ninject.Web.WebApi.OwinHost, а затем добавить дополнительные коды app.UseNinjectMiddleWare, app.UseNinjectWebApi в функцию конфигурации, как показано ниже.
public void Configuration(IAppBuilder app)
{
HttpConfiguration httpConfiguration = new HttpConfiguration();
ConfigureOAuth(app);
app.UseNinjectMiddleware(NinjectWebCommon.CreateKernel);
app.UseNinjectWebApi(httpConfiguration);
WebApiConfig.Register(httpConfiguration);
app.UseWebApi(httpConfiguration);
}
Но когда я спроектировал OWIN Startup таким образом, я начал получать другую ошибку, которая показана ниже.
Вторая ошибка
В таком случае, как я могу использовать Ninject и OWIN Token Based Authentication вместе?
Заранее большое спасибо.