我们有一个运行MVC4前端并使用web api2 rest PUT的应用程序。它在IIS 8.5和windows server 2012中运行
我正在使用PutAsync更新一些数据,但是得到了一个不允许返回的405方法。我环顾四周,发现有些人有这个问题,通过在API的web.config中使用一些或其他技术解决了这个问题。
我在web API配置中尝试了一下,它对我很有效。
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
但我不确定为什么。我没有为我的网站定义任何webdav创作规则。有没有人能帮我解释一下为什么这对我有用??
另外,为接口设置runAllManagedModulesForAllRequests=true有什么缺点吗??
发布于 2016-03-16 20:51:42
配置可以从machine.config
继承。有关更多信息,请访问Configuration Inheritance in this page。它也可以从包含文件夹中的任何其他web.config
继承。
runAllManagedModulesForAllRequests
表示,对包含此web.config
的文件夹(和子文件夹)所做的任何请求都将被处理到已注册的模块。例如,它将尝试处理对看起来不像Web API操作的请求。请看这个: Meaning
https://stackoverflow.com/questions/36030071
复制相似问题