Как получить JSON из службы данных WCF, вызов DataServiceQuery в Silverlight? - PullRequest
0 голосов
/ 22 февраля 2012

Справочная информация: У меня есть служба данных WCF с приложением Silverlight, которое в настоящее время использует atom pub xml. Я хочу использовать JSON, чтобы уменьшить размер полезной нагрузки. Я прочитал, что вы можете JSON с веб-службы сервиса, используя следующий код:

WebClient wc = new WebClient();
wc.Headers["Accept"] = "application/json";

Могу ли я изменить заголовок для вызова DataServiceQuery или localContext.BeginExecute (для WebGets)?

// WCF Data Services Query Proxy
DataServiceQuery<T> query = filterExpression as DataServiceQuery<T>;

// Execute the ASYNC query against the model
query.BeginExecute(new AsyncCallback((iar) =>
{ ...});

или

// Create new context with the WCF service to force only save this entity
VisiconnEDM localContext = new VisiconnEDM(new Uri(entityServiceURL, UriKind.Absolute));

// execute the query asynchronously 
localContext.BeginExecute<T>(urlQuery,(IAsyncResult iar) =>{ ...},null);

1 Ответ

2 голосов
/ 22 февраля 2012

Даже если вы измените заголовок для DataServiceRequest, клиентская библиотека WCF DS не поддерживает чтение ответов JSON, поэтому она не сможет прочитать ответ.Предлагаемый в настоящее время подход к уменьшению размера полезной нагрузки заключается в использовании GZip.

...