以下のコードを参照してください。
DeleteEvent = Deletion.ExecuteDelete(id)
If DeleteEvent Then
Using Scope As New TransactionScope
'Database update 1
'Datbase update 2
'Database update 3
etc
Scope.Complete()
End Using
End If
Deletion.ExecuteDelete は、ASMX Web サービスへの呼び出しです。この Web サービスはサードパーティ企業によって開発されたものであり、私はコードにアクセスできません。Web サービスがレコードを正常に削除した場合にのみ、3 つのデータベースの更新が発生するようにします。3 つのデータベース更新が発生した場合にのみ、Web サービスがレコードを削除するようにします。どうすればこれを達成できますか?
私は、Web サービスの削除と 3 つのデータベースの更新が 1 つのアトミック ユニットであるべきだと言いたいのです。