Как опубликовать список <T>в сервис WCF Rest - PullRequest
0 голосов
/ 16 июня 2011

У меня есть класс

[DataContract]
public class Test
{
[DataMemeber]
public string A {get;set;}
[DataMemeber]
public string B {get;set;}
[DataMemeber]
public string C {get;set;}
}

У меня есть метод Restful WCF

[WebInvoke(UriTemplate = "checkupdates",
ResponseFormat = WebMessageFormat.Json, 
BodyStyle=WebMessageBodyStyle.WrappedRequest)]

List<Test> CheckForUpdates(List<Test> testing);

Как я могу опубликовать объект List в сервисе? Это от клиента wpf.

Спасибо

1 Ответ

1 голос
/ 16 июня 2011

Список эквивалентен массиву, поэтому значение должно быть представлено в виде массива JSON. А так как стиль тела говорит, что запрос должен быть упакован, то вы должны заключить массив JSON в объект с полем, названным в качестве параметра:

{"testing":[
    {"A":"Value of A1","B":"Value of B1","C":"Value of C1"},
    {"A":"Value of A2","B":"Value of B2","C":"Value of C2"},
    {"A":"Value of A3","B":"Value of B3","C":"Value of C3"}]}

Если запрос не был упакован (BodyStyle of Bare или WrappedResponse), вам не понадобится объект переноса, и это будет запрос для операции:

[
  {"A":"Value of A1","B":"Value of B1","C":"Value of C1"},
  {"A":"Value of A2","B":"Value of B2","C":"Value of C2"},
  {"A":"Value of A3","B":"Value of B3","C":"Value of C3"}
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...