Позвольте мне предвосхитить эту проблему следующим образом: Я проверял это только с помощью эмулятора хранилища. (SDK 1.5.)
Используя быстро построенное консольное приложение и эмулятор локального хранилища, я создал сценарий сбоя, чтобы проверить, как аренда блоба ведет себя при изящном выходе приложения. В производственной версии Azure он будет представлен в виде нескольких экземпляров веб-ролей, которые получают доступ к одному большому объекту и блокируют его с помощью аренды. У меня произошел сбой экземпляров веб-ролей, поэтому я решил, что это будет хороший тестовый сценарий.
Приложение получает аренду для определенного большого двоичного объекта, достигает точки останова перед выпуском аренды, и я вручную убиваю консольное приложение. Когда я перезапускаю консольное приложение и пытаюсь получить новую аренду, я получаю сообщение об ошибке конфликта 409. Такое поведение проявляется даже через некоторое время после первого получения аренды (и неуместного выхода).
Я знаю, я знаю ... Я должен просто отправить его в облако и посмотреть, что произойдет, но у меня еще не было возможности.
Это просто случай с дурацким эмулятором хранилища или Azure будет вести себя так же?