0

私のコンテキストでは、Navision が関与していますが、おそらくこれはすべての COM 相互運用シナリオに関連していますが、わかりません。

とにかく、状況: - COM Interop 用に登録された単純な C# コンポーネントがあります - 新しいレコードを挿入する直前に、Navision から呼び出します (Navision を知っている人のために、'OnInsert' トリガー内で、したがってトランザクションのコンテキストで) )

アンビエント トランザクションがあることを期待していましたが、System.Transactions.Transaction.Current が null です。

何か不足していますか?トランザクション フローを相互運用コンポーネントに組み込むために採用すべき特定の手法はありますか?

4

2 に答える 2

0

NAV でトランザクションを開始し、COM オブジェクトを使用してそのトランザクションにアクセスしようとしていますか?

COM オブジェクトでトランザクションを初期化していないため、System.Transactions.Transaction.Current 値が null のようです。そのコード サンプルを投稿できますか?

あなたの投稿からは、Transaction.Current 値が NAV で開始したトランザクションを参照することを期待しているように聞こえますが、これが起こるとは思いません。

COM オブジェクトはトランザクションで何をしようとしていますか? おそらく、私たちが取ることができる別のアプローチがあるでしょうか?

于 2010-03-05T10:55:28.367 に答える