PUT处理程序不serviceStack发现IIS7.5(PUT handler not found

2019-06-23 20:50发布

我目前使用serviceStack创建它们在一个MVC Web应用程序中托管的基于REST的服务。

到目前为止ServiceStack一直是惊人的,我已经实现了让大部分东西我想要做的工作。 所有这一切工作在IISExpress。

我现在已经移到了IIS 7.5和我得到的400错误的“处理器的请求未找到”做一个PUT时。 GET工作正常,并在IISExpress都PUT和GET工作。

在IISExpress这一切工作。

有任何想法吗?

Answer 1:

有关IIS +把一些信息/ DELETE取自动词NancyFx WebFx ASP.NET文件 :

默认情况下,IIS 6不支持PUT和DELETE动词。 为了实现这一点,你需要一个通配符映射添加到您的南希应用程序的虚拟目录-读“IIS6扩展名的网址”一节本文档中: http://haacked.com/archive/2008/11/26/ asp.net-MVC上-IIS -6- walkthrough.aspx

而试图使PUT /在IIS 7 / 7.5 DELETE请求您可能会收到“405不允许”页面。 要解决这个问题的一种方法是去除WebDAVModule在web.config。

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="WebDAVModule" />
    </modules>  
</system.webserver>

软PUT / DELETE - 仿效HTTP动词

ServiceStack还支持X-HTTP-方法-覆盖 HTTP头,这将允许你模拟PUT或与POST DELETE (反之亦然)。



文章来源: PUT handler not found with serviceStack on IIS7.5