Я добавляю маршрутизацию ASP.NET в старое приложение веб-форм.Я использую кастом HttpHandler
для обработки всего.В некоторых ситуациях я хотел бы отобразить конкретный путь обратно в файл aspx
, поэтому мне нужно просто передать управление обратно в HttpHandler по умолчанию для asp.net.
Самое близкое, что я получил, это
public void ProcessRequest(HttpContext context) {
// .. when we decide to pass it on
var handler = new System.Web.UI.Page();
handler.ProcessRequest(context);
MemoryStream steam = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
handler.RenderControl(htmlWriter);
// write headers, etc. & send stream to Response
}
Он ничего не делает, ничего не выводится в поток.В документации MS для System.Web.UI.Page (как IHttpHandler) говорится что-то вроде «не вызывайте метод ProcessRequest. Он предназначен для внутреннего использования».
При осмотре кажется, что вы можете сделать это с помощью MVC, например: MvcHttpHandler, кажется, не реализует IHttpHandler
Существует также такая вещь System.Web.UI.PageHandlerFactory
, котораяПохоже, что он просто создаст обработчик страницы для файла aspx, но он внутренний, и я не могу использовать его напрямую.
Эта страница: http://msdn.microsoft.com/en-us/library/bb398986.aspx ссылается на "обработчик asp.net по умолчанию"но не идентифицирует класс и не дает никаких указаний на то, как его можно использовать.
Есть идеи, как мне это сделать?Возможно ли это?