我有两个标记为 TransactionOption.CreateOrJoin 的grain 方法,由另一个标记为TransactionOption.Create 的grain 方法调用。如果标记为 TransactionOption.CreateOrJoin 的两个grain方法中的任何一个失败,我想中止所有进程。我应该抛出这样的异常吗?或者是否有任何解决方案可以中止所有进程?
await _balance.PerformUpdate(q =>{
if (q.Amount + amount > _balanceLimit)
{
throw new ApplicationException("limit exceeded");
}
q.Amount += amount;
});