Azure表客户端ExecuteQuery自动处理冲突令牌



与Azure SDK 1.7 不同,tableClient的.excuteQuery是否自动处理延续令牌

CloudTable tableReference = tableClient.GetTableReference(“XYYZ”);
tableReference.ExecuteQuery()
tableReference.ExecuteQuery<TResult>
tableReference.ExecuteQuery<TElement,TResult> 

是上面的方法ExecuteQuery将在Azure SDK 2.4中自动处理Continuation令牌,在以前的版本即1.7 SDK中,如果我们忘记调用IQuerable的.execute方法,则Continuation令牌有可能不会返回到客户端(特别是在多个分区上查询,其中一些分区可能没有数据)。在当前版本的Azure SDK 2.4中也出现了相同的行为。我们应该显式调用.execute()吗

在我调用For each或toList之前,不会对服务器进行调用。如果ContinationToken在服务器端没有得到正确处理,有没有办法强制向客户端发送延续令牌?

ExecuteQuery返回的IEnumerable对象是一个惰性枚举器,因此在枚举之前不会发出请求。这就是foreach或ToList使其执行查询并处理延续标记的原因。所以,简而言之,你只需要检查一下结果。

最新更新