具有字典参数的WCF HTTP POST Rest服务

具有字典参数的WCF HTTP POST Rest服务,wcf,rest,post,Wcf,Rest,Post,我正在开发一个WCF rest服务,它需要接受一个名称-值对值列表。这些值还未知,因此我们需要使用名称-值对的通用列表 我尝试过多种方法,但我不确定最好的方法是什么。我想我可以访问HttpContext并从请求体中提取值,但我无法做到这一点 让WCF操作接收带有名称-值对列表的HTTP Post的最佳方法是什么,以便可以在类似于从请求[“Key”]中提取请求的操作中读取它们?一个选项是创建一个JSON对象,以类似于以下格式发布到服务: {"kvPairs":[{"Key":"key1","Val

我正在开发一个WCF rest服务,它需要接受一个名称-值对值列表。这些值还未知,因此我们需要使用名称-值对的通用列表

我尝试过多种方法,但我不确定最好的方法是什么。我想我可以访问HttpContext并从请求体中提取值,但我无法做到这一点


让WCF操作接收带有名称-值对列表的HTTP Post的最佳方法是什么,以便可以在类似于从请求[“Key”]中提取请求的操作中读取它们?

一个选项是创建一个JSON对象,以类似于以下格式发布到服务:

{"kvPairs":[{"Key":"key1","Value":"value1"}, {"Key":"key2","Value":"value2"}]}
在服务端,设置与以下类似的方法:

[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "")]
string DoSomething(Dictionary<string, string> kvPairs);
[运营合同]
[WebInvoke(Method=“POST”,BodyStyle=WebMessageBodyStyle.WrappedRequest,RequestFormat=WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json,UriTemplate=”“)]
字符串DoSomething(字典对);
或[{“键”:“键1”,“值”:“值1”},{“键”:“键2”,“值”:“值2”}]不带主体样式