我方法的合同是这样的:
[OperationContract]
[WebInvoke(
Method = "DELETE", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "/myMethod({myParametar})", BodyStyle = WebMessageBodyStyle.Bare
)]
void myMethod(string myParametar);
我称之为:
http://localhost:1234/MyService.svc/jsonPS/myMethod(1)
它说不允许方法。 为什么呢?
答案 0 :(得分:0)
如果您使用网络浏览器进行呼叫,则会发出GET
。相反,您可以使用Fiddler之类的客户端对此进行测试,这样您就可以将方法设置为DELETE
。
另外,我不相信你可以在括号中传递一个参数,因为你已声明它(我可能错了,但我不记得曾见过它)。相反,您可以将段指定为参数:
UriTemplate = "/{myParameter}"
或在查询字符串上传递它:
UriTemplate = "?myMethod={myParameter}"