2012-05-31 37 views
0

我已經爲我的網站實現了一個自定義的HttpHandler,如果頁面在列表中,它將把頁面重定向到一個特定的頁面。到目前爲止,重定向工作正常,但問題是最終頁面的內容變爲空白。HttpHandler實現

代碼從我的頁面處理器:從我的web.config文件

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"); 
      } 
     } 
    } 
} 

代碼[相關的HttpHandler]

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

任何人都可以幫我擺脫這種棘手的局面?在此先感謝...

+0

是那個處理程序ashx? –

+0

@AntonioBakula nope,我不能使用.ashx它的.cs文件 – mahfuz01

回答

3

這是預期的行爲。一個HttpHandler是實際處理請求的東西。如果請求不是對列表中某個頁面的請求,那麼您的代碼不會執行任何操作。這就是爲什麼沒有產出。

如果你想修改的頁面替換它的處理,而不是,那麼你需要一個HttpModule。