WCF Rest参数在http体中

时间:2014-02-01 10:14:27

标签: wcf rest

有没有办法从WCF服务接受HTTP正文中的文本参数?

例如,name=aabbcc&age=14

1 个答案:

答案 0 :(得分:0)

是的!您可以使用 GET POST 发送参数。如果您要发送一个或两个参数,就像您在问题中发布的一样,那么您可以使用 GET 但不利的一点是您的数据将附加在查询字符串中,它将会可见。

[OperationContract]
[Webget(UriTemplate = "/name={name}&age={age}")]
string MyGETMethod(string name, string age);

在您的实施中:

string MyGETMethod(string name, string age)
{
    return "You entered Name: "+name+" and Age: "+age;
}

测试此方法。打开浏览器并写下这样的URL:

http://localhost:8080/YourServiceName/name=myname&age=10

对于 POST 方法,请将 OperationContract 设为:

[OperationContract]
[WebInvoke(Method = "POST" , UriTemplate = "nameandage", RequestFormat=WebMessageFormat.JSON)]
string MyPOSTMethod(string name, string age);

为此,您必须创建POST客户端。