我使用微软的WCF REST服务模板40在.NET 4中创建了一个WCF REST(又称WebHttp)服务,并将其托管在IIS 6中。该服务模板使用Global.asax中的RouteTable来创建“干净”的URL,不包括“.svc”在其中。例如:http://localhost/flights/878。对于此URL,GET和POST工作正常,但PUT和DELETE会导致HTTP 501“未实现”。如果我创建一个简单的.svc文件,如下所示:
<%@ ServiceHost Language="C#" Debug="true" Service="MyProject.FlightsService"%>
那么我可以使用PUT和DELETE来访问此URL:
http:// localhost / flightsservice.svc / 878
有人知道是否可能使PUT和DELETE对上述“干净”的URL起作用吗?似乎没有办法配置IIS以允许此操作,因为没有文件扩展名可供配置设置,并且我不想全局允许PUT和DELETE。