带有Dictionary参数的WCF HTTP POST Rest服务

The*_*boy 4 rest wcf post

我正在开发一个WCF休息服务,需要接受一组NAme值的值.这些值尚不清楚,因此我们需要使用名称值对的通用列表.

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

使用带有名称值列表对的HTTP Post的WCF操作的最佳方法是什么,以便在操作中读取它们类似于将其从Request ["Key"]中拉出来的操作?

Tre*_*mbs 9

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

{"kvPairs":[{"Key":"key1","Value":"value1"}, {"Key":"key2","Value":"value2"}]}
Run Code Online (Sandbox Code Playgroud)

在服务端,设置类似于以下的方法:

[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "")]
string DoSomething(Dictionary<string, string> kvPairs);
Run Code Online (Sandbox Code Playgroud)