Azure 存储 Table 扩展方法中的 ExecuteQuerySegmentedAsync 调用错误
Azure Storage Table ExecuteQuerySegmentedAsync Call Error in Extension Method
以下扩展方法无法在我的 ASP.NET 核心项目中编译,Visual Studio 突出显示方法 ExecuteQuerySegmentedAsync 是问题所在。错误(在代码下方)引用了我不想要的方法签名。我想要这个 here.
internal static class CloudTableExtensions
{
public static async Task<IList<DynamicTableEntity>> ExecuteQueryAsync(this CloudTable table,
TableQuery query, CancellationToken cancellationToken = default(CancellationToken))
{
var items = new List<DynamicTableEntity>();
TableContinuationToken token = null;
do
{
var seg = await table.ExecuteQuerySegmentedAsync(query, token, cancellationToken);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && !cancellationToken.IsCancellationRequested
&& (query.TakeCount == null || items.Count < query.TakeCount.Value));
return items;
}
}
错误是:
Error CS0411 The type arguments for method 'CloudTable.ExecuteQuerySegmentedAsync<T, TResult>(TableQuery<T>, EntityResolver<TResult>, TableContinuationToken)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
WindowsAzure.Storage 7.1.3-Preview ASP.NET Core 1.0.0 的 nuget 包
不包含具有此签名的 ExecuteQuerySegmentedAsync
函数。
也许你应该在 github repo.
上为此创建一个问题
否则,如果需要传递取消令牌,可以使用this:
internal static class CloudTableExtensions
{
public static async Task<IList<DynamicTableEntity>> ExecuteQueryAsync(this CloudTable table,
TableQuery query, CancellationToken cancellationToken = default(CancellationToken))
{
var items = new List<DynamicTableEntity>();
TableContinuationToken token = null;
do
{
var seg =
await
table.ExecuteQuerySegmentedAsync(query, token, new TableRequestOptions(), new OperationContext(),
cancellationToken);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && !cancellationToken.IsCancellationRequested
&& (query.TakeCount == null || items.Count < query.TakeCount.Value));
return items;
}
}
以下扩展方法无法在我的 ASP.NET 核心项目中编译,Visual Studio 突出显示方法 ExecuteQuerySegmentedAsync 是问题所在。错误(在代码下方)引用了我不想要的方法签名。我想要这个 here.
internal static class CloudTableExtensions
{
public static async Task<IList<DynamicTableEntity>> ExecuteQueryAsync(this CloudTable table,
TableQuery query, CancellationToken cancellationToken = default(CancellationToken))
{
var items = new List<DynamicTableEntity>();
TableContinuationToken token = null;
do
{
var seg = await table.ExecuteQuerySegmentedAsync(query, token, cancellationToken);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && !cancellationToken.IsCancellationRequested
&& (query.TakeCount == null || items.Count < query.TakeCount.Value));
return items;
}
}
错误是:
Error CS0411 The type arguments for method 'CloudTable.ExecuteQuerySegmentedAsync<T, TResult>(TableQuery<T>, EntityResolver<TResult>, TableContinuationToken)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
WindowsAzure.Storage 7.1.3-Preview ASP.NET Core 1.0.0 的 nuget 包
不包含具有此签名的 ExecuteQuerySegmentedAsync
函数。
也许你应该在 github repo.
否则,如果需要传递取消令牌,可以使用this:
internal static class CloudTableExtensions
{
public static async Task<IList<DynamicTableEntity>> ExecuteQueryAsync(this CloudTable table,
TableQuery query, CancellationToken cancellationToken = default(CancellationToken))
{
var items = new List<DynamicTableEntity>();
TableContinuationToken token = null;
do
{
var seg =
await
table.ExecuteQuerySegmentedAsync(query, token, new TableRequestOptions(), new OperationContext(),
cancellationToken);
token = seg.ContinuationToken;
items.AddRange(seg);
} while (token != null && !cancellationToken.IsCancellationRequested
&& (query.TakeCount == null || items.Count < query.TakeCount.Value));
return items;
}
}