0

我已经为我的网站实现了一个自定义 HttpHandler,如果该页面在列表中,它将将该页面重定向到特定页面。到目前为止,重定向工作正常,但问题是最后一页的内容变为空白。

来自我的 PageHandler 的代码:

public class CustomPageHandler : IHttpHandler
{
    public bool IsReusable
    {
        get { return false; }
    }

    public void ProcessRequest(HttpContext context)
    {
        List<string> fileList = new List<string>();
        fileList.Add("Page1.aspx");
        fileList.Add("Page2.aspx");

        foreach (string fileName in fileList)
        {
            if (context.Request.RawUrl.ToLower().Contains(fileName.ToLower()))
            {
                context.Response.Redirect("BlockedPage.aspx");
            }
        }
    }
}

我的 Web.Config 文件中的代码 [与 HttpHandler 相关]

<httpHandlers>
   .
   .
   .
   <add verb="*" path="*.aspx" type="CustomPageHandler, App_Code"/>
</httpHandlers>

任何人都可以帮助我摆脱这种棘手的情况吗?提前致谢...

4

1 回答 1

3

这是预期的行为。HttpHandler 是实际处理请求的对象。如果请求不是对列表中某一页面的请求,您的代码将不执行任何操作。这就是为什么没有输出。

如果你想修改页面的处理而不是替换它,那么你需要一个 HttpModule。

于 2012-05-31T00:53:44.633 回答