Подтвердить что ты не робот

Что делает IAppbuilder.UseWebApi?

Недавно я работал над сайтом MVC с api и в startup.cs есть строка, которая говорит app.UseWebApi. Я сделал некоторые поиски, но я не мог найти достойного ответа от того, что он делает. Может кто-нибудь объяснит мне концепцию? Спасибо!

4b9b3361

Ответ 1

Он настраивает веб-API ASP.NET для запуска поверх OWIN. OWIN реферат веб-сервера, и вы можете запускать его поверх IIS, а также HTTP.SYS, который позволяет вам предоставлять веб-сервер в вашем собственном консольном приложении. Чтобы быть более конкретным, часть, которая работает поверх IIS или HTTP.SYS, Katana, которая является реализацией спецификации OWIN.

Вызывая app.UseWebApi, вы настраиваете OWIN/Katana для отправки веб-запросов через ASP.NET Web Api, что в терминологии OWIN считается промежуточным программным обеспечением. Для этого требуется пакет NuGet Microsoft.AspNet.WebApi.Owin.

Интересно, что ASP.NET MVC 5 не может быть настроен как промежуточное ПО OWIN/Katana. это зависит от System.Web и ожидает, что существует синглтон HttpContext, поэтому он должен работать поверх IIS. Однако несколько пакетов NuGet, которые могут использоваться в проектах MVC (например, для аутентификации), построены поверх OWIN вместо того, чтобы зависеть от HttpContext, что делает их более полезными. Это одно объяснение того, почему вы видите OWIN, используемый в проекте MVC.