从GAC配置托管的httpmodule,以便在Classic模式和集成模式下工作

时间:2018-03-24 02:34:52

标签: iis-8 httpmodule machine.config applicationhost

我开发了自定义托管HttpModule(.NET 2),将其安装在 GAC 上,并将其添加到{8.5}全局IIS Modules部分。

对于集成模式的每个网站,此模块在其模块部分中显示为继承,并且它适用于所有.NET 2和.NET 4个Web应用程序(无需操纵每个站点Web.Config)。

对于经典模式中的网站,它不存在,因此无法在经典网络应用程序中访问和使用。

我尝试以任何方式编辑applicationHost.configWeb.Config(v2和v4),但我没有得到任何结果(似乎Machine.Config没有位置)。

我如何以及在何处全局注册相同的模块来处理经典模式而无需将dll添加到bin和/或编辑每个网站的Web.Config?

1 个答案:

答案 0 :(得分:0)

好的,现在有效。供将来参考:

我编辑了function Test() { debugger; if(Xrm.Page.getAttribute("new_test").getValue()){ Xrm.Page.ui.controls.get("new_test").setDisabled(true); } } 并且没有得到任何响应,因为IIS从64位框架读取配置,因此在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config内添加模块解决了这个问题。

AppPools<还必须编辑.NET 4,C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.configC:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config

对于集成模式,通过IIS GUI将自定义模块添加到主模块部分就足够了。

因此,在IIS,Integrated和Classic,32位和64位下的所有.NET 2.0 +网站都可以访问安装在GAC上的一个自定义模块,而无需单独编辑每个网站的Web.Config。

这对于主持人和服务器管理员监控网站特别有用。没有直接干预的活动(错误,DDOS攻击等)。