我有2个可以通过API相互通信的系统。 这是我的代码 系统A:
using (var transaction = new TransactionScope())
{
var myBook = _bookRepository.Table.FirstOrDefault(x => x.Id == request.bookID);
myBook.AssigneeId = null;
_bookRepository.Update(ticket);
var result = await _anotherBApi.ApproveBookAsync(request.bookID);
if (result.ShStatus != ResponseStatus.Success)
{
result.ErrorType = ErrorType.Error;
return result;
}
transaction.Complete();
}
函数ApproveBookAsync(request.bookID)
将调用 B system 的API。处理完毕后, B系统会回拨系统的API来更新图书信息(与上面相同)。
高于我的代码。我不能transaction.Complete();
,因为当B系统调用系统的API时,它将创建新的事务。
期待:我想逐步处理: