採用HttpModules來重寫URLs(實踐篇)

2022-03-21 04:55:28 字數 744 閱讀 6909

首先寫乙個處理urls重寫的類,並且這個類必須繼承ihttphandler介面,以的程式為例:

public void dispose()

}urlrewritemodule類就是處理urls重寫的類,繼承ihttphandler介面,實現該介面的兩個方法,init和dispose。在init方法裡註冊自己定義的方法,如上例所示:

content.beginrequest +=new eventhandler(content_beginrequest);

beginrequest是乙個事件,在收到新的http請求時觸發,content_beginrequest就是觸發時處理的方法。另外說明一 點,httpmodules能註冊的方法還有很多,如:endrequest、error、disposed、 presendrequestcontent等等。

在content_beginrequest方法中具體處理urls重寫的細節,比如,將 重寫為 (注:我沒有仔細看dudu的程式,這裡只是舉例而已)。然後將重新生成的url用httpcontext.rewritepath()方法重寫即可,如下:

最後要web.config中註冊重寫urls的類,格式如下:

classname,assemblyname" name="modulename"/>

modulename"/>

採用標籤可以註冊乙個類;可以移除某個類,如果某個子目錄不希望繼承父目錄的某個http module註冊,就需要使用這個標籤;可以移除所有的http module註冊。

採用HttpModules來重寫URLs(實踐篇)

首先寫乙個處理urls重寫的類,並且這個類必須繼承ihttphandler介面,以的程式為例 public void dispose urlrewritemodule類就是處理urls重寫的類,繼承ihttphandler介面,實現該介面的兩個方法,init和dispose。在init方法裡註冊自己...

採用HttpModules來重寫URLs(實踐篇)

首先寫乙個處理urls重寫的類,並且這個類必須繼承ihttphandler介面,以的程式為例 public void dispose urlrewritemodule類就是處理urls重寫的類,繼承ihttphandler介面,實現該介面的兩個方法,init和dispose。在init方法裡註冊自己...

採用HttpModules來重寫URLs(實踐篇)

首先寫乙個處理urls重寫的類,並且這個類必須繼承ihttphandler介面,以的程式為例 public void dispose urlrewritemodule類就是處理urls重寫的類,繼承ihttphandler介面,實現該介面的兩個方法,init和dispose。在init方法裡註冊自己...