IIS 集成模式 导致 AjaxPro 无法正常运行
web.config 配置如下:
system.web/httphandlers
<httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro" /> </httpHandlers>
system.webServer/handlers
<handlers> <add name="AjaxPro" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory,AjaxPro" path="ajaxpro/*.ashx" /> </handlers>
如上配置在IIS7集成模式下没有问题,但部署到服务其它低版本服务器上会有问题。因为低版本没有集成模式,默认是经典模式。所以为了兼容老版本配置,删除system.webServer节点下的AjaxPro注册,统一使用经典模式,则此问题得以解决。
以下是微软官方对于system.webServer的解释:
system.webServer 节中的某些设置只适用于 IIS 7.0 集成模式,而不适用于经典模式。具体而言,如果应用程序正在经典模式下运行,则会忽略 Web.config 文件的 system.WebServer 节中指定的所有托管代码模块和处理程序。与 IIS 的早期版本相同,托管代码模块和处理程序必须在 system.web 节的 httpModules 和 httpHandlers 元素中定义。
本主题阐释需要修改 system.webServer 节的三个常见配置任务:
-
添加默认文件,以便在请求 URL 未包含特定的文件时,提供该默认文件。
-
注册托管代码模块。
-
添加自定义响应标头
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2016-06-01 SQL Server 快捷键备忘