實現該介面的類稱為httpmodule,在asp.net中,該介面的定義如下:
#region assembly system.web.dll, v4.0.0.0//c:\program files (x86)\reference assemblies\microsoft\framework\.netframework\v4.5\system.web.dll
#endregion
using
system;
namespace
system.web
}
dispose方法,用來**module所使用的非託管資源,如果沒有,直接返回即可。
在asp.net中,實現了介面ihttpmodule介面只是實現了httpmodule的第一步,如果要讓其起作用,我們還需要,將其註冊在**的配置檔案中。
說到配置檔案,我們必須說說在.net中,**配置檔案的執行順序,也可以說是級別。
在.net的系統資料夾中,有針對伺服器所有.net程式的配置檔案,配置檔案所在的資料夾位於作業系統的:c:\windows\microsoft.net\framework\v4.0.30319\config目錄下,當然不同的.net版本對應的也不同。
在這個資料夾下,有兩個重要的配置檔案:machine.config和web.config。
machine.config配置檔案中儲存有針對伺服器所有.net程式的基本配置引數。web.config配置檔案中儲存針對針對此伺服器所有web應用程式的基本配置引數。在我們開發的**專案中的web.config中所做的配置,是專門針對這個**應用程式的配置檔案,在**因公程式中起作用的配置引數來自這三個配置檔案的整合。
在asp.net的**配置檔案web.config中,system.web配置元素的子元素httpmodules用來配置**所使用的httpmodule:httpmodules的子元素add用來增加乙個新的httpmodule,clear將清楚前面註冊的所有httpmodule。
add元素有兩個必選的屬性name和type。
type:表示httpmodule物件的型別名,asp.net**可以使用這個型別名,通過反射來動態建立httpmodule物件,型別的寫法就是反射中要求的型別名稱寫法,如果這個類定義在**中,那麼就是乙個包含命名空間的類的全名。否則的話,在全名的後面使用逗號翻個,還需要跟上型別所在的程式集的名稱,這個程式集的名稱不需要包含.dll副檔名。
對於iis7.0來說,需要在配置檔案的system.webserver配置節點中註冊httpmodule。注意此時的配置元素名稱為modules。在iis7.0中,可以為maprequesthandler,logrequest和postlogrequest事件新增處理程式。只有在iis7.0整合模式下執行並且與.net framework3.0或者更高版本一起執行的應用程式,才可以支援這些事件。
<system.webserver
>
<
modules
>
<
add
name
="online"
type
="usermodule.onlineusermodule"
/>
modules
>
system.webserver
>
IHttpModule在webconfig中的註冊
實現該介面的類稱為httpmodule,在asp.net中,該介面的定義如下 region assembly system.web.dll,v4.0.0.0 c program files x86 reference assemblies microsoft framework netframewo...
IHttpModule 分塊上傳大檔案
1.一般的在asp.net裡上傳檔案都是10m左右,要做到大檔案上傳,必須要改web.config,不過改了web.config有時候也上傳不成功,那是每次上傳的檔案太大,瀏覽器在這個過程中會超時,採用分塊上傳的方法就可以避免這種情況。2.分塊上傳就是利用post的方法,把資料分塊上傳,每塊上傳的資...
IHttpModule 分塊上傳大檔案
1.一般的在asp.net裡上傳檔案都是10m左右,要做到大檔案上傳,必須要改web.config,不過改了web.config有時候也上傳不成功,那是每次上傳的檔案太大,瀏覽器在這個過程中會超時,採用分塊上傳的方法就可以避免這種情況。2.分塊上傳就是利用post的方法,把資料分塊上傳,每塊上傳的資...