2012-04-02 16 views
0

配布しないトランザクションに昇格されるトランザクションには問題があります。私たちは、WCFサービスでエンティティフレームワーク4.1とのTransactionScopeを使用している:Entity Frameworkでのトランザクションのプロモートを促進します

[OperationBehavior(TransactionScopeRequired = true)] 
    [TransactionFlow(TransactionFlowOption.Allowed)] 
    public void SetCapLength(Guid orderId, int capLength){} 

AのObjectContextインスタンスは、各サービス要求のために作成され、一つだけは全体のリクエストの際に使用されます。

SQL Server 2008 R2を使用しています。

分散トランザクションへのプロモーションは非常にランダムなようです。

E.F.が取引を促進する原因を知っている人は誰ですか?

答えて

0

TransactionFlowOptionを使用しています。運が良ければ、すべてが正しく構成されているため、クライアントからのトランザクションがサービス=分散トランザクションに流れます。サービス側のすべてのローカルトランザクションが分散トランザクションに参加します。

+0

ああ、[TransactionFlow(TransactionFlowOption.Allowed)]は意図せずかもしれません。我々は、トランザクションを作成しないSilverlightクライアントを持っています。私はそれを取り除くことができますが、それが問題であるかどうかは分かりません。 – Poppert

+0

いいえ、銀色の場合は問題ありません。常に特定の業務で起きているのか、それともランダムに起きているのでしょうか?他のトランザクションリソースにアクセスしますか? –

+0

非常にランダムです。私たちはまだパターンを見つけておらず、実際にそれを再現することはできません。ときどきそれが起こることもあります。 いいえ、私たちは他のトランザクションリソースにアクセスしません。サービスによっては別のサービスが呼び出されることもありますが、これらのサービスはトランザクションを処理するように構成されていないこともあります。 – Poppert

関連する問題