2013-05-13 52 views
3

兩個小時搜索谷歌和Stackoverflow,我無處可去。這與代碼隱藏無關,這就是爲什麼我迄今還沒有運氣。嘗試在IIS6上安裝HTTPModule的「無法加載類型」錯誤 - Web.config錯誤

這是我的問題:我有一個遺留網站運行IIS6,我需要在它上面安裝一個HTTPModule來添加一些處理到任何特定文件類型的請求。我寫的模塊,它複製到應用程序的/ bin目錄,並添加以下到我的web.config:

<system.web> 
    <httpModules> 
    <add name="YourModule" type="SecurityModule.SecurityModule" /> 
    </httpModules> 
</system.web> 

然後我火起來/ MyApplication的網站和...」中的服務器錯誤」。

這裏是什麼給了我全部:


配置錯誤

說明:該請求提供服務所需的配置文件的處理過程中出現錯誤。請查看下面的具體錯誤細節並適當修改您的配置文件。

解析器錯誤消息:無法加載類型'SecurityModule.SecurityModule'。 (d:\網站\報告\ web.config行4)

源錯誤:

Line 2:  <system.web> 
Line 3:  <httpModules> 
-->Line 4:   <add name="YourModule" type="SecurityModule.SecurityModule" /> 
Line 5:  </httpModules> 
Line 6:  </system.web> 

源文件:d:\網站\報告\ web.config行:4

版本信息:Microsoft .NET Framework版本:2.0.50727.3625; ASP.NET版本:2.0.50727.3618


第4行,我添加了一個箭頭,是紅色的。就是這樣!沒有解釋,沒有提示要去哪裏。只是「無法加載類型」。我嘗試了各種各樣的東西來解決這個問題:

  • 玩了模塊的名稱,以防萬一我弄錯了。和類型中的字符串。
  • 更改/斌/ bin中
  • 確保模塊編譯針對.NET Framework 2.0中
  • 被遺棄的web.config文件,並試圖將其設置爲在IIS 6的映射(從一個拿到404)。
  • 與以前相關,嘗試使我的擴展的所有文件都通過帶有通配符映射和配置模塊的ASP.NET ISAPI模塊。給我帶來了整個回合到這個錯誤。

有誰能告訴我這裏發生了什麼事嗎?或者,如果失敗了,有人能指出我的方向嗎?此時,任何方向都行。 :)我在完全死衚衕。

謝謝!

回答

6

您應該使用程序集限定名稱。

NamespaceQualifiedTypeName, AssemblyName 
+0

不夠公平,但我見過的示例和論壇帖子似乎並不需要它。這實際上是必需的嗎? – 2013-05-13 23:53:55

+1

@AriRoth現在你可能已經得到了你的答案,但對於那些稍後查找這個答案的人來說,是的,你需要提供完全合格的名字。另外,這是一個關於程序集加載的MS答案:http://forums.asp.net/t/1945391.aspx?+Could+not+load+file+or+assembly+error+when+referencing+HttpModule+using +部分+名+ – dotnetguy 2014-01-21 14:12:07

+1

這幫了我,我從NameSpaceQualifiedName丟失類名。 – Simon 2015-06-25 08:38:43