2012-01-31 12 views
5

TransactionScopeオブジェクトについて簡単に質問します。インターネット上でこれを見つけた:あなたが最初の耐久性のあるリソースマネージャにアクセスするとTransactionScopeと "耐久性の高いリソース"

、軽量 コミットトランザクションは、単一のトランザクションをサポートするために作成されます。 2番目の永続リソースマネージャにアクセスすると、トランザクションは が分散トランザクションに昇格します。

これはうまくいくようですが、正確に「耐久性のあるリソース」とは何かを理解できませんでした。私はTransactionScopeがSQL Server 2005以上でしか動作しないことを知っています.SQL Server 200にアクセスする必要があれば、それは不可能でしょうか?ディスク上のテキストファイルはどうですか?私はいつも、ディスクアクセスが必要なときにトランザクション制御ができないと聞いてきました。多分このオブジェクトとは違うでしょうか?

ありがとうございます!

答えて

5

This linkでは、耐久性のあるリソースマネージャと揮発性のリソースマネージャの違いについて説明しています。

明確にすると、TransactionScopesはearlier versions of SQLで動作しますが、軽量トランザクションマネージャーは2005年以降のみ動作します。 SQL 2000へのトランザクションにはDTCが必要です。

トランザクションファイルシステム(Vista以降)のサポートもあります。hereがあります。トランザクションがシステム障害occur.Resourceマネージャは、トランザクションの状態を記憶しても耐久性があります:

+0

良いリンク、thanks :) – Diego

2

リソースマネージャは、2つのタイプ

耐久
  • です。再起動時にシステムがシャットダウンした場合、トランザクションは以前の状態から続行できます。例えば、 SQL ServerとMSMQ。
  • 揮発性:システム障害に対して耐性がありません。 Thisいくつかのコア.Netクラスのトランザクション実装。
関連する問題