Самая большая разница по моему мнению является модульность нового запроса трубопровода. Раньше жизненный цикл приложения следовал относительно строгому пути, к которому вы могли подключиться через классы, реализующие IHttpModule.
. Это позволит вам повлиять на запрос, но только в определенных точках на этом пути, подписываясь на различные события, которые происходят (например, BeginRequest,
AuthenticateRequest,
и т.д.).
The полные описания их можно найти на сайте MSDN: IIS 5 & 6 или IIS 7 и пошаговое руководство по созданию такого модуля может быть found here.
В новом ASP.NET 5 мире, трубопровод запроса отсоединяется от системы .Web и IIS. Вместо предопределенного пути он использует концепцию промежуточного программного обеспечения. Если вы знакомы с OWIN, идея nearly identical, но основная идея заключается в том, что эти компоненты Middleware зарегистрированы, а затем запрос проходит через них в том порядке, в котором они зарегистрированы.
Каждый компонент промежуточного программного обеспечения предоставляется RequestDelegate
(следующий компонент промежуточного программного обеспечения в конвейере) и текущий HttpContext
для каждого запроса. По каждому запросу компонент вызывается, а затем имеет возможность передать запрос до следующего в цепочке, если это применимо. Например, компонент аутентификации может отказаться от передачи запроса вместе с следующим компонентом, если аутентификация завершается с ошибкой. Используя эту систему, вы действительно можете обрабатывать запрос любым способом, который вы выберете, и можете быть такими же легкими или богатыми, как вам нужно.
This example немного от сейчас (например, IBuilder
has been renamed к IApplicationBuilder
), но это еще большой обзор того, как выглядит здание и регистрирующие эти компоненты.