Хранилище файлов Azure - блокировка при копировании - PullRequest
0 голосов
/ 30 августа 2018

Я вижу, что есть метод CloudFile.StartCopy(), но как я могу заблокировать, пока он не завершится? Этот пример предлагает вызвать StartCopy(), а затем вызвать destFile.DownloadText(), что, как я полагаю, приведет к блокировке, но я не хочу перезагружать потенциально значительный файл только для блокировки.

1 Ответ

0 голосов
/ 30 августа 2018

Не уверен, что это отвечает на часть «Блок», но это то, что я сделал в аналогичной ситуации. Надеюсь, это поможет.

   var target = _container.GetBlockBlobReference(targetItemName);

   // StartCopy will add a request to a queue, that's all
   target.StartCopy(source);

   // Now we poll the copy's status
   while (target.CopyState.Status == CopyStatus.Pending)
        await Task.Delay(500);

   if (target.CopyState.Status != CopyStatus.Success)
        throw new ApplicationException("Copy failed: " + target.CopyState.Status);
...