Самое большое отличие, на мой взгляд, это модульность нового конвейера запросов. В прошлом жизненный цикл приложения следовал относительно строгому пути, к которому можно было подключиться через классы, реализующие IHttpModule.
. Это позволяло вам влиять на запрос, но только в определенные моменты пути, подписавшись на различные происходящие события (например, BeginRequest,
AuthenticateRequest,
так далее.).
Их полное описание можно найти в MSDN: IIS 5 и 6. или IIS 7, а пошаговое руководство по созданию такого модуля можно найти находится здесь.
В новом мире ASP.NET 5 конвейер запросов отделен от System.Web и IIS. Вместо предопределенного пути используется концепция промежуточного программного обеспечения. Если вы знакомы с OWIN, идея такова: почти идентичны, но основная идея заключается в том, что эти компоненты промежуточного программного обеспечения регистрируются, а затем запрос проходит через их в том порядке, в котором они зарегистрированы.
Каждому компоненту промежуточного программного обеспечения предоставляется RequestDelegate
(следующий компонент промежуточного программного обеспечения в конвейере) и текущий HttpContext
для каждого запроса. При каждом запросе компонент вызывается, а затем имеет возможность передать запрос следующему в цепочке, если это применимо. Например, компонент проверки подлинности может решить не передавать запрос следующему компоненту в случае сбоя проверки подлинности. Используя эту систему, вы действительно можете обрабатывать запросы любым удобным для вас способом, и вы можете быть настолько легкими или многофункциональными, насколько вам нужно.
Этот пример немного устарел (например, IBuilder
было переименовано в IApplicationBuilder
), но это по-прежнему отличный обзор того, как создавать и Регистрация этих компонентов выглядит.
person
Adam
schedule
13.12.2014