问题表现: 某个应用在调用wcf服务时,日志提示"405 method not allowed"

开始以为是程序的问题,后来发现在别的服务器上安装使用都没有问题,猜测可能是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路径,问题解决。

网友评论