迁移至Windows Server 2019后Ajax extenders与.Net验证器失效咨询
故障排查解决步骤
- 确认Windows Server 2019的IIS角色已安装「静态内容」功能。操作路径为:服务器管理器>添加角色和功能>Web服务器(IIS)>Web服务器>常见HTTP功能>勾选「静态内容」,安装完成后重启IIS再测试站点。
- 补全web.config中脚本资源处理程序配置,你当前配置的
<system.webServer><handlers>节点为空,需添加以下内容:
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
如果站点应用程序池使用经典托管管道模式,将上述配置的preCondition值改为classicMode。
- 核对站点对应应用程序池配置:.NET Framework版本设置为
v4.0.30319,托管管道模式和旧Windows Server 2012 R2服务器上的配置保持一致,避免管道模式变更引发的资源映射异常。 - 确认AjaxControlToolkit控件前缀已正确注册,在web.config的
<system.web><pages><controls>节点下添加如下配置:
<add assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagPrefix="cc1" />
同时检查站点bin目录下的AjaxControlToolkit.dll版本确实为3.0.2,且IIS_IUSRS用户组对站点根目录拥有读取、执行权限。
- 排查URL重写规则冲突,若站点配置了URL重写规则,需添加规则排除对
*.axd路径的拦截,避免脚本资源请求被重写规则拦截。 - 打开浏览器F12开发者工具的「网络」面板,刷新页面后查看是否有
ScriptResource.axd、WebResource.axd的请求返回404、403等异常状态码,根据对应状态码进一步定位权限、映射类问题。
你现有配置中已将
ValidationSettings:UnobtrusiveValidationMode设为None,该配置符合低版本AjaxControlToolkit的运行要求,无需调整。
内容的提问来源于stack exchange,提问作者Hassan8541
相关产品推荐
相关产品推荐

