MVC3およびWCF Webサービスを単一のアプリケーションとしてデプロイしました。どちらも期待どおりに動作します。 GET要求とPOST要求は完全に機能しますが、PUTとDELETE要求は404エラーを返します。これらはローカルでうまく動作します。最初は、PUT/DELETE要求のユーザー名/パスワードを要求していました。ここではここ展開されたWCF RESTfulサービスのPUTおよびDELETE要求に404エラーが発生する
は私のweb.configファイルから私のウェブサーバーの設定である
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAVModule" />
</handlers>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="*"
verbs="GET,HEAD,POST,DEBUG,PUT,DELETE" />
</authorization>
</security>
</system.webServer>
私のPUTで、メソッドを削除します。
[OperationContract]
[WebInvoke(UriTemplate = "{id}", Method = "PUT")]
public MyResource Put(MyResource updatedResource, int id)
{
MyResource existingResource = Database.GetResourceById(id);
existingResource.Name = updatedResource.Name;
Database.SaveResource(existingResource);
return existingResource;
}
[OperationContract]
[WebInvoke(UriTemplate = "{id}", Method = "DELETE")]
public MyResource Delete(int id)
{
MyResource sampleResource = Database.DeleteResourceById(id);
return sampleResource;
}
は私が設定:
- .NET 4.0を
- MVC3
- は7.0
注IIS:私は、共有ホスティングプランの午前、それゆえ私は、web.configファイルを経由して変更を加える必要がありIIS7.0に直接アクセスすることはできません。
共有ホストでこれを行う方法がわかりません。[this](http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express)をチェックしてください。 -for-put-and-delete-verbs.aspx)out – MilkyWayJoe