使 IHttpHandler 让现有的 .aspx 页面处理请求的正确方法是什么?我希望能够将 .aspx 文件编译成 IHttpHandler,然后让它处理请求。有 PageParser.GetCompiledPageInstance 方法,但是在文档中它声明它不能直接从代码中使用。我知道我可以将 apsx 文件自动定向到或执行 RewritePath,但是我希望对象引用到处理程序。
eulerfx
问问题
1182 次
1 回答
3
这是一种快速且肮脏的方法:
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);
于 2008-12-12T22:18:07.917 回答