【问题标题】:"Could not load type" error trying to install HTTPModule on IIS6 - Web.config error尝试在 IIS6 上安装 HTTPModule 时出现“无法加载类型”错误 - Web.config 错误
【发布时间】:2013-05-08 02:51:39
【问题描述】:

在 Google 和 Stackoverflow 上搜索了两个小时,但我一无所获。这与代码隐藏无关,这就是我到目前为止没有运气的原因。

这是我的问题:我有一个运行 IIS6 的旧网站,我需要在其上安装一个 HTTPModule 来为对特定文件类型的任何请求添加一些处理。我已经编写了模块,将其复制到应用程序的 /bin 目录,并将以下内容添加到我的 Web.config:

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

然后我启动网站并...“/MyApplication 中的服务器错误”。

这是它给我的全部内容:


配置错误

描述:处理此请求所需的配置文件时出错。请查看下面的具体错误详细信息并适当地修改您的配置文件。

解析器错误消息:无法加载类型“SecurityModule.SecurityModule”。 (D:\Websites\Reports\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:\Websites\Reports\web.config 行:4

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


我添加箭头的第 4 行是红色的。就是这样!没有解释,也没有提示去哪里。只是“无法加载类型”。我已经尝试了各种方法来解决这个问题:

  • 使用模块名称以防我弄错了。以及类型中的字符串。
  • 将 /Bin 更改为 /bin
  • 确保模块是针对 .NET Framework 2.0 编译的
  • 放弃了 web.config 并尝试将其设置为 IIS 6 中的映射(从那个得到 404)。
  • 与上一个相关,尝试使我的扩展的所有文件都通过带有通配符映射的 ASP.NET ISAPI 模块并配置该模块。让我又回到了这个错误。

谁能告诉我这里发生了什么?或者,如果做不到这一点,有人可以指点我一个方向吗?在这一点上,任何方向都可以。 :) 我完全处于死胡同。

谢谢!

【问题讨论】:

    标签: asp.net iis-6 httpmodule


    【解决方案1】:

    您应该使用程序集限定名称。

    NamespaceQualifiedTypeName, AssemblyName
    

    【讨论】:

    • 很公平,但我看到的示例和论坛帖子似乎不需要它。这真的需要吗?
    • @AriRoth 您现在可能已经得到答案,但是对于那些稍后查找此答案的人,是的,您需要提供完全限定的名称。这也是关于程序集加载的 MS 答案:forums.asp.net/t/…
    • 这对我有帮助,我错过了 NameSpaceQualifiedName 中的类名。
    • 例如:&lt;add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" /&gt;
    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多