1

私はそれらの特性がすべて間違っていることを理解していると確信しています。

  1. ReleaseServiceInstanceOnTransactionComplete-私が理解したことから-トランザクションが完了した後にクライアントで初期化したサービスインスタンスを破棄します。

2.TransactionAutoComplete-私が理解したことから-操作が終了した後にクライアントで初期化したサービスインスタンスを破棄します。

私の英語はそれほど上手ではないので、各記事を読んだ後でも、私には理解できない平和があります。

お時間をいただきありがとうございます。

編集1:

InstanceContextの目的は何ですか?簡単な英語で説明してもらえますか?私はこの記事を読みました:http : //www.danrigsby.com/blog/index.php/2008/05/23/understanding-instancecontext-in-wcf/それでもそれを取得できませんでした。

4

1 に答える 1

4

ReleaseServiceInstanceOnTransactionCompleteトランザクションが完了または中止されたときに、サービスインスタンスを実際に破棄します。デフォルトではtrueに設定されています。たとえば、PerSessionインスタンス化を使用してサービスを作成する場合は、トランザクションの有効期間ではなくセッションの有効期間を確保するために、サービスをfalseに変更することをお勧めします。

TransactionAutoComplete処分とは何の関係もありません。操作の実行に使用されるトランザクションを制御するだけです。がtrueに設定されている場合TransactionScopeRequired、操作は自動的にでラップされTransactionScopeます。TransactionAutoCompletetrueに設定すると、操作がエラーなしで実行された場合はトランザクションが自動的にコミットされ、操作が例外をスローした場合はトランザクションがロールバックされます。TransactionAutoCompletefalseに設定した場合は、次を呼び出してトランザクションを手動でコミットする必要があります。

OperationContext.Current.SetTransactionComplete();
于 2012-04-25T11:16:49.113 に答える