0

ページがリストにある場合、ページを特定のページにリダイレクトするカスタム HttpHandler を Web サイトに実装しました。これまでのところ、リダイレクトは正常に機能していますが、問題は最終ページのコンテンツが空白になることです。

私の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 に答える