OWIN вызывает MVC еще (ASP.NET MVC)?
Глядя на стандартный новый проект MVC 5 в Visual Studio 2013, вы можете видеть, что теперь он включает OWIN.
Там новый класс запуска OWIN, который настраивает auth, однако я не вижу, как/где MVC5 зарегистрирован в OWIN. Где это происходит?
Я предполагаю, что все запросы проходят через OWIN перед входом в конвейер MVC. Почему еще они включали OWIN?
- Обратите внимание: я не спрашиваю, как настраивается OWIN, что легко объясняется в документах. Меня интересует, как MVC5 использует OWIN.
Ответы
Ответ 1
Обновление: я понял, почему MVC5 использует OWIN, даже если запросы обрабатываются конвейером IIS вместо OWIN.
MVC5 не проходит через OWIN, однако похоже, что это может измениться в будущем. Вместо этого MVC в настоящее время все еще нуждается в прохождении через интегрированный трубопровод IIS. Причина, по которой OWIN включена в проект MVC по умолчанию, заключается в том, что MVC5 может использовать компоненты промежуточного программного обеспечения Owin.
Из промежуточного ПО OWIN в интегрированном конвейере iis:
Чтобы OMC мог участвовать в этом же, на основе событий заказы, код исполнения Katana просматривает запуск конфигурации и подписывает каждый из компонентов промежуточного программного обеспечения на интегрированное событие конвейера.
Это изменяет ASP.NET vNext, поскольку Web.Api и MVC были объединены и отказались от System.Web в пользу OWIN и проекта Helios.
Ответ 2
- MVC 5 не зарегистрирован в OWIN.
- OWIN зарегистрирован для запуска перед приложением (
PreApplicationStartMethod
).
- И при предварительном запуске приложения зарегистрированный класс OwinStartup используется для настройки текущего приложения.
[assembly: OwinStartup(typeof(WebApplication1.Startup))]
Вышеприведенная строка в startup.cs
загрузит класс для настройки OWIN.
Посмотрите далее Обнаружение класса запуска OWIN