0

インターフェイスを次のように定義しています

[OperationContract]
[WebInvoke(Method = "PostUserData", BodyStyle = 
            WebMessageBodyStyle.WrappedRequest)]
string GetWine2(string wineID);

およびサービスの動作

public string GetWine2(string wineID)
{
    return "I love this type of : " + wineID;
}

wfetchツールを使用してデータを投稿すると、IISから常に405エラーが発生します。これにより、IISに問題があると思いました。カスタムコードからPOST呼び出しを実行しようとしましたが、同じエラーが発生します。私はこのフォーラムでWebDavが原因で問題が発生したことを読みましたが、インストールされているとは思いません。これがインストールされている場合、誰かが私を指摘できれば素晴らしいと思います。WebDavが何であるかわかりません。IIS 7.5でポストコールをブロックする他の理由は何でしょうか?

ダミーのASPXページを配置しましたが、これで問題ありません。

4

1 に答える 1

1

メソッドは「POST」である必要があります...このようにwebinvokeを変更します

 [WebInvoke(Method = "POST")] 

また

 [WebInvoke(Method = "POST", UriTemplate = "/GetWine2/{wineID}" BodyStyle = 
        WebMessageBodyStyle.WrappedRequest)]  

また

 [WebInvoke(Method = "POST", UriTemplate = "/GetWine2/{wineID}") ] 

このメソッドを呼び出すために使用しているURLは何ですか?

于 2013-03-13T14:05:44.087 に答える