1

我很困惑,需要一些建议来解决我在配置为使用我创建的 HttpModule 的应用程序中遇到的以下错误:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Could not load type 'namespaceResponseModifier.ResponseModifer'. 

...

Exception Details: System.Web.HttpException: Could not load
type 'namespaceResponseModifier.ResponseModifer'.

...

Stack Trace: 

[HttpException (0x80004005): Could not load type 'namespaceResponseModifier.ResponseModifer'.]

...

[ConfigurationErrorsException: Could not load type 'namespaceResponseModifier.ResponseModifer'.]

...

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272 

Web 服务器是 IIS Express 7.0。

在 web.config 文件中,该元素的代码是:

   <system.webServer>
       <modules>
           <add name="ResponseModifier"
                type="namespaceResponseModifier.ResponseModifer" />
       </modules>
   </system.webServer>

The assembly for the HttpModule resides in 
C:\...\HttpModulePreSendRequestContentCS\Bin\ResponseModifier.dll

我还尝试将 HttpModule 的源代码放在 App_Code 目录中,但在加载 HttpModule 时仍然出现服务器错误。

在第二种情况下,我收到以下错误:

Server Error in '/' Application.
--------------------------------------------------------------------------------

Could not load type 'namespaceResponseModifier.ResponseModifer' from assembly 'App_Code'. 

...

Exception Details: System.TypeLoadException: Could not load
type 'namespaceResponseModifier.ResponseModifer' from assembly 'App_Code'.

...

Stack Trace: 

[TypeLoadException: Could not load type 'namespaceResponseModifier.ResponseModifer' from
assembly 'App_Code'.]

...

[ConfigurationErrorsException: Could not load type 'namespaceResponseModifier.ResponseModifer'
from assembly 'App_Code'.]

...

[HttpException (0x80004005): Could not load type 'namespaceResponseModifier.ResponseModifer'
from assembly 'App_Code'.]

...

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

我也尝试过使用 Visual Studio Development Web Server 而不是 IIS Express Web Server。我在这两种情况下都尝试了这个服务器: - 在 bin 文件夹中使用程序集 - 在 App_Code 文件夹中使用源代码。

这些场景分别产生以下错误:

Server Error in '/HttpModulePreSendRequestContentCS' Application.
--------------------------------------------------------------------------------

Configuration Error 

...

Parser Error Message: Could not load type 'ResponseModifer'.
(C:\...\HttpModulePreSendRequestContentCS\web.config line 8)

...

Source File: C:\...\HttpModulePreSendRequestContentCS\web.config    Line: 8 

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272


Server Error in '/HttpModulePreSendRequestContentCS' Application.
--------------------------------------------------------------------------------

Configuration Error 

...

Parser Error Message: Could not load type 'ResponseModifer' from assembly 'App_Code'.  
(C:\...\HttpModulePreSendRequestContentCS\web.config line 8)

...

Source File: C:\...\HttpModulePreSendRequestContentCS\web.config    Line: 8 

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

任何关于我可以做些什么来解决问题的建议将不胜感激。

4

1 回答 1

3

老问题,但我相信您的模块添加不正确。

<add name="NameOfModule" type="Namespace.NameOfModule, AssemblyName" />

是我看到它的典型方式,所以不知道这个模块的命名空间,它看起来更接近:

<add name="ResponseModifier" type="ActualNameSpaceGoesHere.namespaceResponseModifier.ResponseModifer, ResponseModifier" />
于 2013-10-03T13:53:20.840 回答