后台:我有一个带有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);
答案 0 :(得分:2)
即使您要修改DataServiceRequest的标头,WCF DS的客户端库也不支持读取JSON响应,因此无法读取响应。目前建议的减少有效载荷大小的方法是使用GZip。