2012-07-03 4 views
4

Я работаю над сервисом отдыха WCF, который должен будет принимать пары значений значений NAme. Эти значения пока не известны, поэтому нам нужно использовать общий список пар значений имени.WCF HTTP POST Rest Service с параметрами словаря

Я пробовал несколько методов, но я не уверен, что лучший способ это сделать. Я решил, что смогу получить доступ к HttpContext и вытащить значения из тела запроса, но я не могу этого сделать.

Каков наилучший способ иметь операцию WCF, которая принимает HTTP-сообщение со списком пар значений имени, чтобы они могли быть прочитаны в операции аналогично тому, как вы могли бы вытащить ее из запроса ["Key" ]?

ответ

8

Опцион бы создать объект 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); 
+0

Или [{«Key»: «key1», «Value»: «value1»}, {«Key»: «key2», «Value»: «value2»}] без BodyStyle – mecek

Смежные вопросы