ASP.net发布后,通过IIS进行网页访问时:虽然html静态网页访问正常,但是配置的异常页无法跳转,动态网页aspx,一般处理程序ashx访问均报错,静态网页中的ajax与aspx,ashx程序通信也均报错。
错误提示:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
原因是IIS对于静态页面html,文本文件,image可以直接处理,而aspx等动态文件无法直接处理必须通过asp.net_api.dll(IIS管理器->IIS->处理程序映射)进行映射后方可处理。asp.net_api.dll文件在IIS已安装的情况下将伴随vs安装自动安装,后期网站发布无问题。如果vs安装时IIS未安装,asp.net_api.dll文件将不自动安装,这导致后期网站发布后出现访问动态网页异常。
处理办法:
在管理员身份打开命令行,运行以下命令:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i
(管理员身份打开命令行方法:在搜索框搜索:命令提示符->右击命令提示符->管理员身份运行)
安装后,将网站,Net.Framework版本设置为.net framework V4.0 托管管道模式设置为集成,重启网站即可。