我将尝试使用Simple OData Client库执行查询,从CRM Dynamics检索信息,代码如下(C#):
虽然这种方法可以运行,但是由于我在 mss_transaccions 表上的查询有7200个实体,所以非常缓慢。我正在 Fiddler 中查看输出,并且可以看到它试图下载大约20MB的信息。
我尝试在 Google Chrome 上运行相同的查询,并且可以看到默认情况下获得的响应以 gzip 格式压缩,从20MB减少到仅有的500KB左右。因此,我推断 Simple OData Client 没有进行任何类型的压缩,这就是为什么它如此缓慢的原因。
此外,OData Simple Client 的请求要求元数据信息,这会增加另外4MB的数据量,而 Chrome 或简单的 HttpClient 请求不需要进行该调用。
是否有任何方法可以改善并启用压缩?
谢谢。
var settings = new ODataClientSettings(resource + "/api/data/v8.0/");
settings.BeforeRequest = (request) =>
{
request.Headers.Clear();
request.Headers.Add("Authorization", accesstoken.AccessTokenType + " " + accesstoken.AccessToken);
};
settings.PayloadFormat = ODataPayloadFormat.Json;
var client = new ODataClient(settings);
var annotations = new ODataFeedAnnotations();
var transactions = await client.For("mss_transaccions").FindEntriesAsync(annotations);
while (annotations.NextPageLink != null)
{
transactions = transactions.Union(await client.For("mss_transaccions").FindEntriesAsync(annotations.NextPageLink, annotations));
}
虽然这种方法可以运行,但是由于我在 mss_transaccions 表上的查询有7200个实体,所以非常缓慢。我正在 Fiddler 中查看输出,并且可以看到它试图下载大约20MB的信息。
我尝试在 Google Chrome 上运行相同的查询,并且可以看到默认情况下获得的响应以 gzip 格式压缩,从20MB减少到仅有的500KB左右。因此,我推断 Simple OData Client 没有进行任何类型的压缩,这就是为什么它如此缓慢的原因。
此外,OData Simple Client 的请求要求元数据信息,这会增加另外4MB的数据量,而 Chrome 或简单的 HttpClient 请求不需要进行该调用。
是否有任何方法可以改善并启用压缩?
谢谢。