Как правильно заставить IHttpHandler существующую страницу .aspx обрабатывать запрос? Я хотел бы иметь возможность скомпилировать файл .aspx в IHttpHandler, а затем обработать запрос. Существует метод PageParser.GetCompiledPageInstance, однако в документации он заявляет, что он не предназначен для прямого использования из кода. Я знаю, что могу автоматически перенаправлять файлы apsx или выполнять RewritePath, однако я хотел бы, чтобы объектная ссылка на обработчик.





Вот один из быстрых и грязных способов сделать это:
var virtualPath = "~/foo/bar.aspx"
var output = HttpContext.Current.Response.Output;
// Get the compiled page type (i.e. foo_bar_aspx)
Type controlType = BuildManager.GetCompiledType(virtualPath);
// "new()" it up
var pageInstance = Activator.CreateInstance(controlType);
// Execute it
HttpContext.Current.Server.Execute(pageInstance, output, true);