asp.net – 如何让静态Html页面通过IIS7.0中的HttpModule?
发布时间:2020-12-16 03:26:52 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个简单的HttpModule,它在将响应发送到客户端之前从响应中删除空格.这适用于IIS7.0上的aspx页面,但如果我创建一个静态html页面并调用它,HttpModule不会启动(我知道的方式是因为源包含空格,否则本应删除).显然有一些我做得不对,但不知道是什么. 我的
我创建了一个简单的HttpModule,它在将响应发送到客户端之前从响应中删除空格.这适用于IIS7.0上的aspx页面,但如果我创建一个静态html页面并调用它,HttpModule不会启动(我知道的方式是因为源包含空格,否则本应删除).显然有一些我做得不对,但不知道是什么.
我的网站位于.NET 4.0和ManagedPipelineMode = Integrated的应用程序池中. 我已将模块添加为ManagedModule,并引用GAC的强名称密钥程序集. 谢谢 编辑 – 这是web.config中的system.webserver部分 <system.webServer> ... <modules runAllManagedModulesForAllRequests="true"> <add name="RemoveWhitespaceHttpModule" type="HttpModules.Modules.RemoveWhitespaceHttpModule,HttpModules,Version=1.0.0.0,Culture=neutral,PublicKeyToken=8a83u4bi47o9fo0d" preCondition="" /> </modules> <defaultDocument> <files> <add value="TestForm.aspx" /> </files> </defaultDocument> </system.webServer> 编辑 – 修正了它.对于任何感兴趣的人,这是我的模块检查响应然后决定是否继续删除空格的方式 if (contentType.Equals("text/html") && httpContext.Response.StatusCode == 200 && httpContext.CurrentHandler != null) { ... } 问题出在httpContext.CurrentHandler!= null之上的第三个条件.当为静态.html页面调用此模块时,currentHandler为null,因此代码永远不会进入操作html.我已经删除了这第三个条件,它现在有效.谢谢大家的回答 解决方法
这应该可以在web.config中实现:
<modules runAllManagedModulesForAllRequests="true"></modules> 这是一种快速简便的解决方案,但可能会导致问题/性能问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp-classic – 从ASP.Classic中的Web.Config读取Connectio
- asp.net – System.Web.AspNetHostingPermission SecurityE
- asp.net-mvc – ASP.NET MVC忽略所有url结尾的“.html”
- 动手造轮子:实现一个简单的依赖注入(三) --- 支持属性注入
- 如何在asp.net网站上使用图片资源?
- asp.net-mvc – ASP.NET MVC 4 Web Api和REST经典服务之间的
- asp.net-mvc – asp.net MVC Url.Content()CDN重定向
- pdf-generation – 如何在ASP.NET中创建PDF
- ASP.NET MVC和SQL Server报告服务
- 什么是在ASP.NET网站中嵌入视频的有效选项?
推荐文章
站长推荐
热点阅读