IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!

首先这个问题在其他网站(CSDN,新浪博客等) 回答基本都是没有回答到"根本"上面来(而且总在纠结要不要勾选"全部谓词")

我是自己对比了本地IIS之后得出的结论:

  1.首先你需要检查你的网站的应用程序池, 下图示 , 可以看到.Net Framework版本为4.0

    IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!

  

  2.然后到IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!去看有没有4.0的.Net Framework的映射配置 , 如下图示(我在windows 2008 server安装的IIS是没有红色框的两项,导致我的所有Ajax请求.ashx时返回405)

IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!

  

  3.最后,可以得出结论,如果你的请求出现405错误, 根据你的请求的后缀名以及网站的.Net Framework版本, 去查找对应的映射配置是否存在, 若不存在(右上角"添加脚本映射"),添加即可,添加不是随意添加 , 名称需要按照上图给出的格式. 添加的可执行文件的路径选择可参考下图,

IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!

IIS 返回 405 - 不允许用于访问此页的 HTTP 谓词。终极解决办法!!!!