如何解决部署到 IIS 时未调用 Web 应用程序项目中的 httpModule
我正在将网站项目转换为 Web 应用程序项目。我已经有了所有要编译甚至发布的东西(漫长的过程)。但是,现在我已经在 IIS 中“加载”了项目,没有调用 httpModule。
web.config 的模块部分如下所示:
<modules runAllManagedModulesForAllRequests="true">
<add name="ContentWebSite" type="ContentWebSite.ContentWebSite"/>
</modules>
httpModule 的类是这样开始的:
namespace ContentWebSite
{
public class ContentWebSite : IHttpModule
{
private HttpApplication _Application;
我错过了什么?当我在本地 IIS 的上下文中运行时,永远不会在构造函数或 ContentWebSite 类的 init 方法中设置断点。当我在 IIS Express 中运行时,断点被命中!如何让 IIS 调用 httpModule?
TIA,
解决方法
您可以检查应用程序池模式是否导致了您的问题。
应用程序池模式:经典与集成。
<system.webServer><!--for integrated mode-->
<modules>
<add name="modulename" type="ContentWebSite.ContentWebSite" />
</modules>
</system.webServer>
<system.web><!--for classic mode-->
<httpModules>
<add name="modulename" type="ContentWebSite.ContentWebSite" />
</httpModules>
</system.web>
,
好的,所以我通过将模块添加名称行更改为:
<add name="modulename" type="ContentWEbSite.ContentWebsite,appName" />
其中 appName 是为项目生成的 DLL 的物理名称!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。