如何从Silverlight中的WCF数据服务,DataServiceQuery调用中获取JSON?

时间:2012-02-21 20:00:14

标签: json silverlight wcf-data-services

后台:我有一个带有Silverlight应用程序的WCF数据服务,该应用程序当前正在使用atom pub xml。我想使用JSON来减少有效负载的大小。 我使用以下代码读取了服务webget中的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 个答案:

答案 0 :(得分:2)

即使您要修改DataServiceRequest的标头,WCF DS的客户端库也不支持读取JSON响应,因此无法读取响应。目前建议的减少有效载荷大小的方法是使用GZip。