Microsoft の WCF REST サービス テンプレート 40 を使用して、.NET 4 で WCF REST (別名 WebHttp) サービスを作成しました。IIS 6 でサービスをホストしています。
サービス テンプレートは、".svc" を含まない "クリーンな" URL を作成する方法として、Global.asax の RouteTable を使用します。例えば:
http:// localhost / フライト / 878
GET と POST はこの URL に対して正常に機能しますが、PUT と DELETE は HTTP 501「実装されていません」という結果になります。
次のような単純な .svc ファイルを作成すると:
<%@ ServiceHost Language="C#" Debug="true" Service="MyProject.FlightsService"%>
次に、この URL に対して PUT と DELETE を使用できます。
http:// localhost / flightservice.svc / 878
上記の「クリーンな」URL に対して PUT と DELETE を機能させることが可能かどうかは誰にもわかりませんか? 設定を構成するファイル拡張子がなく、PUT と DELETE をグローバルに許可したくないため、これを許可するように IIS を構成する方法がないようです。