5

搜索谷歌和 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 模块。让我回到了这个错误。

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

谢谢!

4

1 回答 1

9

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

NamespaceQualifiedTypeName, AssemblyName
于 2013-05-13T23:34:11.607 回答