IHttpModule在webconfig中的註冊

2022-02-07 00:41:05 字數 2332 閱讀 5800

實現該介面的類稱為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的方法,把資料分塊上傳,每塊上傳的資...