首先寫乙個處理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重寫的細節,比如,將
http://www.cnblogs.com/rrooyy/archive/2004/10/24/56041.html 重寫為 http://www.cnblogs.com/archive.aspx?user=rrooyy&id=56041 (注:我沒有仔細看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方法裡註冊自己...