gpt4 book ai didi

azure - 使用 Execute 的 AsTableServiceQuery 指南

转载 作者:行者123 更新时间:2023-12-05 01:16:00 25 4
gpt4 key购买 nike

我注意到,当我在 CloudTableQuery 上调用 Execute() 时,它不会立即向 Azure 发出请求。以这段代码为例:

var results = 
(from e in tableContext.CreateQuery<T>(tableName)
where e.PartitionKey == something
select e).AsTableServiceQuery().Execute();

仅当我稍后使用结果时才会向 Azure 发出请求:

foreach(var item in results) ...

如果是这种情况,那么在我的代码片段中显式调用 Execute 是没有意义的。我对这种行为有点困惑,这让我想问:什么情况下需要公开公开 Execute() ?

最佳答案

如果你看一下 TableServiceQuery.cs 的源代码在 GitHub 上,您将看到以下内容。深入挖掘,您可以看到重试策略、服务器超时和最大执行时间等都是通过调用 Execute() 设置的

    [DoesServiceRequest]
public IEnumerable<TElement> Execute(TableRequestOptions requestOptions = null, OperationContext operationContext = null)
{
requestOptions = TableRequestOptions.ApplyDefaults(requestOptions, this.Context.ServiceClient);
operationContext = operationContext ?? new OperationContext();
long takeCount = TableUtilities.GetQueryTakeCount(this.Query, long.MaxValue);
return
General.LazyEnumerable(
(continuationToken) =>
this.ExecuteSegmentedCore((TableContinuationToken)continuationToken, requestOptions, operationContext),
takeCount,
operationContext);
}

关于azure - 使用 Execute 的 AsTableServiceQuery 指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13162993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com