2
以下是我用於從.NET Core類庫中的Azure表存儲(ATS)讀取數據的方法。異步調用Azure表存儲
問題是雖然這種方法是對ATS進行異步調用,但我不能await
它。我如何修改此方法,以便使其成爲「標準」async
方法?
public T Get<T>(string partitionKey, string rowKey, string tableName) where T : ITableEntity, new()
{
var table = GetTable(tableName);
TableQuery<T> query = new TableQuery<T>().Where(
TableQuery.CombineFilters(
TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey),
TableOperators.And,
TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, rowKey))).Take(1);
var result = new T();
TableContinuationToken continuationToken = null;
do
{
Task<TableQuerySegment<T>> querySegment = table.ExecuteQuerySegmentedAsync(query, continuationToken);
TableQuerySegment<T> segment = querySegment.Result;
result = segment.FirstOrDefault();
continuationToken = segment.ContinuationToken;
} while (continuationToken != null);
return result;
}
如果我只需添加async Task<T>
和await
關鍵字,我得到的,我用await
錯誤。
標記您的方法異步:)所以'公共異步任務 GetAsync ()' –
你的意思是沒有「等待」 – Sam
不,不是無的await。這將使它成爲同步方法。 –