私はこの非常に単純なワークフローを持っています:
ご覧のとおり、これは単純な割り当ての受信と応答の送信で構成されており、すべて受信トランザクションスコープ内にあります。
今、消費者側に私はこの単純なコードを持っています:
static void Main(string[] args)
{
using (TransactionScope scope = new TransactionScope())
{
Transaction t = Transaction.Current;
t.TransactionCompleted += t_TransactionCompleted;
TransactedServiceRef.ServiceClient cli = new TransactedServiceRef.ServiceClient();
string aux = cli.GetData(new TransactedServiceRef.GetData() { id = 1, value = 1 });
Console.WriteLine(aux);
scope.Complete();
}
Console.ReadLine();
}
static void t_TransactionCompleted(object sender, TransactionEventArgs e)
{
//POINT 1
}
さて、私の問題です。理由はわかりませんが、「ポイント1」では、トランザクションは常に中止されます!!! 例外はスローされず、エラーも、ロールバックも何もありません...それはただ中止されます...誰かが私を助けることができますか?
ところで:ポイント1で期待しているステータスはコミットされています...