System.Transactionsとは? わかりやすく解説

System.Transactions 名前空間

メモ : この名前空間は、.NET Framework version 2.0 で新しく追加されたものです。

System.Transactions 名前空間には、トランザクション アプリケーションやリソース マネージャを独自に作成するためのクラスが含まれます。具体的には、1 つまたは複数の参加要素を持つトランザクション (ローカル型または分散型) を作成したり、これらのトランザクションに参加させたりできます。

メモ重要 :

この名前空間を使ったアプリケーション作成は、Windows 2000、Windows XP、Windows 2003 の各プラットフォームでのみサポートされます。Windows 98 や Windows ME のプラットフォームでトランザクションを作成すると、PlatformNotSupportedException がスローされます。

System.Transactions インフラストラクチャは、SQL Server、ADO.NET、MSMQ、MSDTC (Microsoft Distributed Transaction Coordinator) で開始されたトランザクションをサポートすることにより、プラットフォーム全体を通じて、シンプルで効率のよいトランザクション プログラミングを可能にします。この名前空間は、Transaction クラスに基づく明示的なプログラミング モデルだけでなく、インフラストラクチャがトランザクションを自動的に管理する、TransactionScope クラスを使用した暗黙のプログラミング モデルも提供します。開発では、簡単な暗黙のモデルを使用することを強くお勧めします。暗黙のモデルを使用するには、まず「トランザクション スコープを使用した暗黙的なトランザクションの実装」を参照してください。トランザクション アプリケーションの記述の詳細については、「トランザクション アプリケーションの作成」を参照してください。

また、System.Transactions には、リソース マネージャを実装するための型が用意されています。System.Transactions インフラストラクチャがネイティブで備えるトランザクション マネージャを使用することで、揮発性リソースまたは単一の永続性リソースの参加リストを効率よくコミットしたり、ロールバックしたりできます。リソース マネージャの実装の詳細については、「リソース マネージャの実装」を参照してください。

また、トランザクション マネージャは、他の永続性リソース マネージャがそれ自体をトランザクションに参加させた場合に、DTC などのディスク ベースのトランザクション マネージャを通じて調整することにより、ローカル トランザクションを分散トランザクションへと透過的にエスカレートする機能を備えています。System.Transactions インフラストラクチャでは、主に 2 つの方法でパフォーマンスを向上させています。

System.Transactions は、公開しているリソースの型へのアクセスを制限する 3 レベルの信頼を定義しています。具体的には、System.Transactions アセンブリは、AllowPartiallyTrustedCallers 属性 (APTCA) が適用されているため、部分的に信頼されているコードから呼び出すことができます。この属性により、FullTrust アクセス許可セットに暗黙的に適用される (つまり、各型のパブリック アクセス メソッドに対して自動的に設定される) LinkDemand が削除されます。ただし、一部の型およびメンバについては、さらに強力なアクセス許可が必要となります。

以下に示した型とメンバは、次の宣言セキュリティ属性で装飾されているため、信頼性が一部しか確認されていないコードから呼び出すことはできません。

PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")

System.Transactions.Transaction.EnlistDurable

System.Transactions.Transaction.EnlistPromotableSinglePhase

System.Transactions.TransactionInterop

System.Transactions.TransactionManager.DistributedTransactionStarted

System.Transactions.TransactionManager.HostCurrentTransactionCallback

System.Transactions.TransactionManager.Reenlist

System.Transactions.TransactionManager.RecoveryComplete

System.Transactions.TransactionScope.TransactionScope (System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption)

M:System.Transactions.TransactionScope.TransactionScope(System.Transactions.TransactionScopeOption,System.Transactions.TransactionOptions,System.Transactions.EnterpriseServicesInteropOption)

各種の信頼レベルの詳細については、「リソース アクセスにおけるセキュリティ信頼レベル」を参照してください。

Core Development Technologies\Data Access\Transaction Processing\

System.Transactions 名前空間の使い方の詳細については、概念について解説したドキュメントの「トランザクション処理」(Core Development Technologies\Data Access\Transaction Processing\) を参照してください。より理解を深めるためには、次のトピックの内容を重点的に読むようにしてください。

System.Transactions で提供される機能

トランザクション アプリケーションの作成

リソース マネージャの実装


クラスクラス
 クラス説明
パブリック クラスCommittableTransactionコミットできるトランザクションを示します。
パブリック クラスDependentTransactionトランザクションの作業に関してアプリケーションが停止するまで、トランザクションをコミットできないようにする、トランザクションの複製を記述します。このクラスは継承できません。
パブリック クラスDistributedTransactionPermissionトランザクションの管理を MSDTC にエスカレートする場合に、System.Transactions が要求するアクセス許可。このクラスは継承できません。
パブリック クラスDistributedTransactionPermissionAttribute宣言セキュリティを使用して、DistributedTransactionPermission のセキュリティ アクションをコードに適用できるようにします。このクラスは継承できません。
パブリック クラスEnlistmentトランザクションの最終フェーズにおいて、トランザクションに参加している参加要素とトランザクション マネージャの間の通信を容易にします。
パブリック クラスPreparingEnlistmentトランザクションの準備フェーズにおいて、参加するトランザクションの参加要素とトランザクション マネージャの間の通信を容易にします。
パブリック クラスSinglePhaseEnlistmentSinglePhaseCommit 通知を受け取ったときに、単一フェーズ コミットに参加している参加要素とトランザクション マネージャの間の通信を容易にする一連のコールバックを提供します。
パブリック クラスSubordinateTransaction処理を代行させることのできる非ルート トランザクションを表します。このクラスは継承できません。
パブリック クラスTransactionトランザクションを表します。
パブリック クラスTransactionAbortedException既にロールバックされているトランザクションを操作しようとした場合や、トランザクションをコミットしようとしたときにトランザクションが中止された場合にスローされる例外。
パブリック クラスTransactionEventArgsトランザクション イベントである DistributedTransactionStarted と TransactionCompleted に関するデータを提供します。
パブリック クラスTransactionException新しい作業を受け入れないトランザクションで作業を試行したときにスローされる例外。
パブリック クラスTransactionInDoubtException未決定のトランザクションを操作しようとした場合や、トランザクションをコミットしようとしたときにトランザクションが InDoubt になった場合にスローされる例外。
パブリック クラスTransactionInformationトランザクションに関する追加情報を提供します。
パブリック クラスTransactionInteropMSDTC、COM+、または System.EnterpriseServices とやり取りするために以前記述されたコンポーネントと System.Transactions との対話を容易にします。このクラスは継承できません。
パブリック クラスTransactionManagerトランザクション管理に使用するメソッドを格納します。このクラスは継承できません。
パブリック クラスTransactionManagerCommunicationExceptionリソース マネージャがトランザクション マネージャと通信できない場合にスローされる例外。
パブリック クラスTransactionPromotionException上位変換が失敗したときにスローされる例外。
パブリック クラスTransactionScopeコード ブロックをトランザクションにします。このクラスは継承できません。
インターフェイスインターフェイス
構造体構造体
デリゲートデリゲート
 デリゲート説明
パブリック デリゲートHostCurrentTransactionCallbackホスト環境が Current の独自の既定概念を提供するための機構を用意します。
パブリック デリゲートTransactionCompletedEventHandlerTransaction クラスの TransactionCompleted イベントを処理するメソッドを表します。
パブリック デリゲートTransactionStartedEventHandlerTransactionManager クラスの DistributedTransactionStarted イベントを処理するメソッドを表します。
列挙型列挙型

System.Transactions

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/08 19:35 UTC 版)

「基本クラスライブラリ」の記事における「System.Transactions」の解説

ローカルもしくはネットワーク相手とのトランザクション処理を提供する。

※この「System.Transactions」の解説は、「基本クラスライブラリ」の解説の一部です。
「System.Transactions」を含む「基本クラスライブラリ」の記事については、「基本クラスライブラリ」の概要を参照ください。

ウィキペディア小見出し辞書の「System.Transactions」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「System.Transactions」の関連用語

System.Transactionsのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



System.Transactionsのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの基本クラスライブラリ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS