2013-07-15 3 views
0

Я посмотрел и увидел, что можно вернуть объекты, сериализованные в Json из веб-службы WCF. Кто-нибудь знает, как я могу это сделать?Как вернуть сериализованные данные Json из WCF?

Благодаря

+0

Убедитесь, что ваш запрашивающий клиент отправляет заголовок «Принять: приложение/json»? –

+0

примеры? учебники? – Funky

+0

Вы можете увидеть сильфон ссылку: [возвратной очистку JSON-от-а-ФОС-службы] [1] [1]: http://stackoverflow.com/questions/2086666/how -do-i-return-clean-json-from-a-wcf-service –

ответ

1

Вы должны добавить атрибут к службе, как этот

[OperationContract] 
    [WebGet(ResponseFormat = WebMessageFormat.Json)] 
    ObjectName YourMethodName(); 
+0

Это само по себе не работает – Funky

+0

@Funky Это вернет объект, сериализованный как JSON. Не могли бы вы немного разобраться? – Ehsan

0

Да, это возможно, вы можете установить automaticFormatSelectionEnabled к истинному standardEndpoint из webHttpEndpoint в web.config как

<webHttpEndpoint> 
    <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
</webHttpEndpoint> 

И вам нужно добавить http-заголовок для ответа json на вашего клиента

using (HttpClient client = new HttpClient("endpoint")) 
{ 
    HttpRequestMessage request = new HttpRequestMessage("GET", "SomeMethod");     
    request.Headers.Accept.AddString("application/json"); 
    ... 
} 
+0

Можете ли вы предоставить учебник для этого или ссылку? – Funky

+0

взгляните на [msdn] (http://msdn.microsoft.com/en-us/library/ee476510.aspx) –

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