自定義處理頁面請求

javaprogramers發表於2005-04-21

       主要是繼承IHttpModule和IHttpHandler來重寫其 中的方法,IhttpModule 中重寫其Init方法及各種請示過程事件和Dispose方法

using System.Web;
using System;

namespace CustomerHttpModules
{
    
/// <summary>
    
/// Class1 的摘要說明。
    
/// </summary>

    public class MyHttpModules:IHttpModule
    
{
        
public MyHttpModules()
        
{
             
        }

        
IHttpModule 成員
    }

}

 

然後生成dll,新建個asp.net應用,引用此dll,在web.config中加入

<httpModules>
  <add name="test" type="CustomerHttpModules.MyHttpModules,CustomerHttpModules"/>
 </httpModules>

則當有頁面請求時會查詢到此dll,然後執行其中過程。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

以下為重寫IHttpHandler中方法的程式碼:

同樣地建個類庫

using System;
using System.Web;

namespace CustomerHttpHandler
{
    
/**//// <summary>
    
/// Class1 的摘要說明。
    
/// </summary>

    public class TestCustomerHttpHandler:IHttpHandler
    
{
        
public TestCustomerHttpHandler()
        
{
            
//
            
// TODO: 在此處新增建構函式邏輯
            
//
        }

        
IHttpHandler 成員
    }

}

 

所有頁面請示的核心處理都是通過IHttpHandler的ProcessRequest方法來完成,因此只要我們重寫此方法,則無論頁面有任何請求,都會被我們所重寫的內容代替掉。嘿嘿

生成dll後再在asp.net應用中的 web.config 中加入

<httpHandlers>
  <add verb="*" path="*" type="CustomerHttpModules.MyHttpModules,CustomerHttpModules"/>
 </httpHandlers>

看看效果吧

相關文章