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 阻止 post 调用的其他原因可能是什么?

我放置了一个虚拟的 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 回答