我有一个写入表存储的webjob。我的webjob一个接一个地写入两个表。由于webjob有时异步运行,因此一个表中的实体将被另一个表替换。这是因为异步操作吗?
TableOperation op1 = TableOperation.InsertOrReplace(entity1); _table1.Execute(OP1);
TableOperation op2 = TableOperation.InsertOrReplace(entity2); _table2.Execute(OP2);
enity1有时会存储在table2中而不是table1。
如果我在写入第一张表后放置Thread.sleep(5000),那么一切都很好。有人可以帮忙吗?
答案 0 :(得分:0)
@BhanuReddy,函数CloudTable.Execute(TableOperation)
不是异步操作,请参阅课程CloudTable
中的Execute
代码& TableOperation
。同时,你的问题中没有更多的代码,所以我无法确定问题的原因。
我的建议是你可以包装两组物品&将实体替换为两个单独的函数以与部分变量隔离的操作。
如果您可以发布您的webjob的完整代码,我认为这对于找出逻辑问题非常有帮助。