开始以为是程序的问题,后来发现在别的服务器上安装使用都没有问题,猜测可能是IIS环境的问题。
百度了一下,得出的结论是:一般IIS默认能处理静态的htm,html文件 ,以及动态的脚本 asp,aspx 文件,如果要处理php或其他类型的脚本语言,必须做好ISAPI映射,于是打开IIS,找到提供上述RisWebService.svc服务的站点,点击“处理程序映射”
观察路径这一列,发现没有.svc的路径映射,所以IIS无法识别程序中的一般处理程序(*.svc),因此就报了标题中的错误。可能是在安装IIS过程中安装ASP.net功能安全不全。
解决办法:找到NET4安装目录: %windir%\Microsoft.NET\Framework64\v4.0.30319,
cmd运行命令 aspnet_regiis -i,
安装完之后,再次查看IIS程序映射,发现增加了.svc路径,问题解决。
那些都是核心module和handler,不用杞人忧天了。如果没用到.asp的话,可以禁用
如果你是webform的话,.aspx, .axd, .ashx不能禁用
用到webservice的话,.asmx, .soap不能禁用
用到wcf的话,.svc, .soap不能禁用
如果是mvc程序的话,.cshtml不能禁用
StaticFile不能禁用
HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免。
网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。解决方法如下:
1.选择站点-》IIS-》处理程序映射-》添加脚本映射(对应扩展名)。
2.选择站点-》IIS-》处理程序映射-》添加通配符脚本映射(对应扩展名)。
3、如果在应用程序池选了32位支持,那就按上面的把32位的isapi再配置一遍就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)