我已经创建了一个WCF数据服务,它工作正常。我的GET类型方法的自定义方法也可以正常工作。问题出在POST自定义方法中。
该方法如下:
[WebInvoke(Method = "POST")]
public string CustomMethod(string myParameter)
{
return "yes" + myParameter;
}
我也调用:
config.SetServiceOperationAccessRule("CustomMethod", ServiceOperationRights.All);
然后在小提琴手中,我的请求看起来像那样:
Method: POST
URL: http://localhost:1219/DataService.svc/CustomMethod
Reguest Headers:
User-Agent: Fiddler
Host: localhost:1219
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
Request Body:
myParameter=parameter1value
调用该方法但“myParameter”参数始终为null。我错过了什么?
感谢您的时间。
答案 0 :(得分:0)
我相信你传递参数'myParameter'的方式可能是错误的。
您可以尝试使用visual studio来使用您的服务,然后尝试传递它。
还有一个问题.. 当您将服务称为获取服务时,Content-Type是内容类型:应用/ X WWW的窗体-urlencoded
答案 1 :(得分:0)
请参阅Section 10.4.1.3. Invoking an Action了解OData 3。
短篇小说:内容类型必须是JSON。
如果调用请求包含任何非绑定参数值,则 Content-Type请求必须是'application / json',而且 参数值必须在。中的单个JSON对象中编码 请求正文。