我试图了解 IIS 7.5 如何处理 POST 和 PUT 请求。
我正在使用 OpenRasta 框架编写一个 RESTful 服务。POST 操作没有任何问题,但相同 URL 的 PUT 操作没有。它返回如下错误
Detailed Error Information
Module: IIS Web Core
Notification: MapRequestHandler
Handler: StaticFile
Error Code: 0x80070002
网址是这样的“http://localhost/MyService/Resource.Something.manifest”
相同的设置在 Visual Studio 开发 IIS 中运行良好。
解决方案
基本上默认的 ExtensionlessUrlHandler 不接受 PUT 和 DELETE 动词。只需要添加它们。
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="Script" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />