Man*_*kar 1 .net c# azure azure-storage
string uri = "myurl";
string blobstatus = GetBlobStatus(uri);
if (blobstatus != LeaseStatus.Locked.ToString())
{
string response = AquireBlob(uri);
//process data.
string abc = ":em";
ReleaseBlob(response, uri);
}
Run Code Online (Sandbox Code Playgroud)
以上是我在blob上租用和释放锁的代码.我看这种方法用于多实例工作者的角色,我想运行之后的特定代码x的时间间隔,为多个实例可以在同一时间执行代码.
问题是我设法得到了LeaseId正确的但是当第二个实例检查blob租约状态时,它总是未指定.为什么会这样?任何线索?
我按照以下链接获得了先机.
我认为你的方法不应该首先依赖于检查blob状态,而是根据决定是否获得租约.您应该总是尝试获取租约并捕获该过程中抛出的异常.这样,如果此代码在多实例环境中运行,则只有一个实例能够获取租约(而其他实例只会抛出错误).
| 归档时间: |
|
| 查看次数: |
3220 次 |
| 最近记录: |