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

OWIN вызывает MVC еще (ASP.NET MVC)?

Глядя на стандартный новый проект MVC 5 в Visual Studio 2013, вы можете видеть, что теперь он включает OWIN.

Там новый класс запуска OWIN, который настраивает auth, однако я не вижу, как/где MVC5 зарегистрирован в OWIN. Где это происходит?

Я предполагаю, что все запросы проходят через OWIN перед входом в конвейер MVC. Почему еще они включали OWIN?

  • Обратите внимание: я не спрашиваю, как настраивается OWIN, что легко объясняется в документах. Меня интересует, как MVC5 использует OWIN.
4b9b3361

Ответ 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