让我先解释一下这个问题: 我只是使用存储模拟器对此进行了测试。 (SDK 1.5。)
使用快速构建的控制台应用程序和本地存储模拟器,我创建了一个失败方案来测试blob租约在不正常退出应用程序时的行为方式。在Azure生产版本中,它将以多个Web角色实例的形式访问单个blob并通过租约锁定它。我有网络角色实例失败,所以我认为这将是一个很好的测试场景。
应用程序获取特定blob的租约,在租约发布之前达到一个断点,我手动终止控制台应用程序。当我重新运行控制台应用程序并尝试获取新租约时,我收到冲突错误409.在第一次租约获取(以及非正常退出)后,甚至会出现这种行为。
我知道,我知道......我应该把它推到云端看看会发生什么,但我还没有机会。
这种行为只是古怪的存储模拟器的一种情况,还是Azure的行为方式相同?
答案 0 :(得分:1)
如果超过2分钟,则可能只是模拟器。不到2分钟,我预计可能无法获得租约(不强迫它)。我实际上从未在模拟器中对此进行过测试,但它在云中运行良好......