我们在OpenRasta上有一个Asp.Net应用程序,当我们在大多数IIS(7.5)上部署它时,它运行正常。但在一个安装中,对于PUT请求,客户端收到“405 Method not allowed”错误,日志显示如下条目:
2011-11-15 01:18:20 192.168.0.164 PUT /myapp/ignoreme.rastahook - 80 - 192.168.0.131 AClient 405 0 0 57
ignoreme.rastahook 似乎来自OpenRasta在OpenRastaModule.cs中的重写:
HttpContext.Current.RewritePath(VirtualPathUtility.ToAppRelative(“〜/ ignoreme.rastahook”),false);
GET和POST工作正常,但不确定HTTP方法是否真的有所不同。关于可能发生的事情或从哪里开始调试的任何想法?我目前的猜测是工作服务器和不工作服务器之间的IIS配置差异。
OpenRasta版本是2.0.3,我们在.net 4上运行应用程序。
更新 Fwiw,当我的服务器的web.config中的OpenRasta处理程序映射的动词属性从“*”更改为“GET,POST”时,我得到一个“ignoreme.rastahook”日志文件以及PUT,但是404,而不是405,所以这似乎与上述问题不同。
更新2 我想当我启用WebDAV时,我可以重现405 / ignoreme.rastahook问题。这导致我https://github.com/openrasta/openrasta-stable/wiki/Installing-OpenRasta-Under-IIS,说明
请注意,WebDAV模块可能会导致IIS 7.5出现问题
更新3 我在其他服务器上验证了 WebDAV导致问题,但如果有人知道如何在不完全禁用WebDAV的情况下解决问题,我会很感激。