Mój problem polega na tym, że wywołanie czeka na tabelę.ExecuteAsync (...) na platformie Azure Storage Table wstawia żądane dane, ale nigdy się nie kończy (nie zwraca TableResult). Ten sam przypadek z operacjami InsertOrUpdate i Update. Próbowałem również różnych tabel o różnej liczbie właściwości - ten sam problem.Tabele przechowywania Azure: czekają na tabelę.ExecuteAsync (InsertOperation) działa, ale nigdy się nie kończy
Kiedy zadzwonię pod numer table.Execute (...) - wszystko działa dobrze dla każdego rodzaju operacji.
Oto mój kod - proste:
Zewnętrzne połączenia (jest on umieszczony w MVC Controller w działaniu asynchronicznym):
List<Task<ServiceResult<Boolean?>>> addPostTasks = new List<Task<Common.ServiceResult<bool?>>>();
foreach (var userStream in userStreams)
{
Task<ServiceResult<Boolean?>> addPostTask = postsStorageSvc.AddImagePost(...);
postsAddImagePostTasks.Add(addPostTask);
}
Task.WaitAll(addPostTasks.ToArray());
metoda zwana:
public async Task<ServiceResult<Boolean?>> AddImagePost(...)
{
ServiceResult<Boolean?> result = new ServiceResult<bool?>(null);
try
{
PostTableEntity newPost = new PostTableEntity(streamId.ToString(), Guid.NewGuid().ToString(), creatorId, date, htmlText);
TableOperation insertOperation = TableOperation.Insert(newPost);
//Following line never ends!
TableResult tableResult = await this._storageTableBootstrapper.Table.ExecuteAsync(insertOperation);
//Following line works perfect - but is not ASYNC
TableResult tableResult = this._storageTableBootstrapper.Table.Execute(insertOperation);
}
catch (Exception ex)
{
result.Result = false;
result.Errors.Add("AzurePostsStorageService Unexpected error: " + ex.Message);
}
return result;
}
Jak się nazywa ta metoda? –
Co masz na myśli? Ten blok kodu jest w metodzie asynchronicznej, aktualizuję moje pytanie, aby wyświetlić otaczające linie. –
Pokaż podpis metody i sposób jej wywołania. Czy może blokujesz go za pomocą 'Task.Result' lub' Task.Wait'? –