2

任何人都知道如何在 HttpModule 中呈现一个 aspx 页面并将其流式传输回浏览器?

4

3 回答 3

5

你可以这样做:

Type page_type = BuildManager.GetCompiledType ("~/page.aspx");
Page page = (Page) Activator.CreateInstance (page_type);
page.ProcessRequest (Context);
于 2009-11-13T22:07:43.313 回答
3
public void ProcessRequest(HttpContext context)
{
    using (var writer = new StringWriter())
    {
        context.Server.Execute("default.aspx", writer);
        context.Response.ContentType = "text/html";
        context.Response.Write(writer.GetStringBuilder().ToString());
    }
}
于 2009-11-13T22:08:20.163 回答
2

最好的方法可能是使用 URL 重写将标准 Handler 处理步骤重定向到您要呈现的页面。就像是:

context.RewritePath("yourpage.aspx", false);

您可以从 BeginRequest 事件处理程序运行它。

于 2009-11-15T15:56:02.303 回答