WebMethodAttribute.TransactionOption プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebMethodAttribute.TransactionOption プロパティの意味・解説 

WebMethodAttribute.TransactionOption プロパティ

XML Web サービス メソッドトランザクション サポート示します

名前空間: System.Web.Services
アセンブリ: System.Web.Services (system.web.services.dll 内)
構文構文

Public Property TransactionOption As
 TransactionOption
Dim instance As WebMethodAttribute
Dim value As TransactionOption

value = instance.TransactionOption

instance.TransactionOption = value
public TransactionOption TransactionOption { get;
 set; }
public:
property TransactionOption TransactionOption {
    TransactionOption get ();
    void set (TransactionOption value);
}
/** @property */
public TransactionOption get_TransactionOption ()

/** @property */
public void set_TransactionOption (TransactionOption
 value)
public function get TransactionOption
 () : TransactionOption

public function set TransactionOption
 (value : TransactionOption)

プロパティ
XML Web サービス メソッドトランザクション サポート既定値Disabled です。

解説解説

HTTP プロトコルの状態のない性質のため、XML Web サービス メソッドルート オブジェクトとしてだけトランザクション参加できますXML Web サービス メソッドと同じトランザクション参加する COM オブジェクトが、コンポーネント サービス管理ツールトランザクション内で実行されることが示されている場合XML Web サービス メソッドは、その COM オブジェクトをすべて呼び出すことができますTransactionOption プロパティRequired または RequiresNew である XML Web サービス メソッドが、TransactionOption プロパティRequired または RequiresNew である別の XML Web サービス メソッド呼び出すと、各 XML Web サービス メソッドそれぞれ独自のトランザクション参加します。これは、XML Web サービス メソッドトランザクション内で機能できるのは、ルート オブジェクトとしてだけであるためです。

項目

説明

Disabled

XML Web サービス メソッドが、トランザクションスコープ内で実行されないことを示します要求処理されるときに、XML Web サービス メソッドトランザクションなしで実行されます。

[WebMethod(TransactionOption= TransactionOption.Disabled )]

NotSupported

XML Web サービス メソッドが、トランザクションスコープ内で実行されないことを示します要求処理されるときに、XML Web サービス メソッドトランザクションなしで実行されます。

[WebMethod(TransactionOption= TransactionOption.NotSupported )]

Supported

XML Web サービス メソッドが、トランザクションスコープ内で実行されないことを示します要求処理されるときに、XML Web サービストランザクションなしで作成されます。

[WebMethod(TransactionOption= TransactionOption.Supported )]

Required

XML Web サービス メソッドに、トランザクションが必要であることを示しますXML Web サービス メソッドは、トランザクションルート オブジェクトとしてだけ参加できるため、XML Web サービス メソッド用に新しトランザクション作成されます。

[WebMethod(TransactionOption= TransactionOption.Required )]

RequiresNew

XML Web サービス メソッド新しトランザクションが必要であることを示します要求処理されるときに、新しトランザクション内で XML Web サービス作成されます。

[WebMethod(TransactionOption= TransactionOption.RequiresNew )]

XML Web サービス メソッドから例外スローされるか、XML Web サービス メソッドによって例外キャッチされない場合トランザクション自動的に中止されます。例外発生しない場合、このメソッドSetAbort明示的に呼び出さない限りトランザクション自動的にコミットされます

使用例使用例

Transfer メソッド呼び出されたときに新しトランザクション開始する例を次に示します

<%@ WebService Language="VB" Class="Bank"%>
<%@ assembly name="System.EnterpriseServices,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
 %>
 
Imports System
Imports System.Web.Services
Imports System.EnterpriseServices

Public Class Bank
    Inherits WebService    
    
    <WebMethod(TransactionOption := TransactionOption.RequiresNew)> _    
    Public Sub Transfer(Amount As
 Long, AcctNumberTo As Long,
 AcctNumberFrom As Long)
        
        Dim objBank As New
 MyCOMObject()
        
        If objBank.GetBalance(AcctNumberFrom) < Amount Then
            ' Explicitly abort the transaction.
            ContextUtil.SetAbort()
        Else
            ' Credit and Debit method explictly vote within
            ' the code for their methods whether to commit or
            ' abort the transaction.
            objBank.Credit(Amount, AcctNumberTo)
            objBank.Debit(Amount, AcctNumberFrom)
        End If
    End Sub
End Class
      
<%@ WebService Language="C#" Class="Bank"%>
<%@ assembly name="System.EnterpriseServices,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
 %>
 
 using System;
 using System.Web.Services;
 using System.EnterpriseServices;
 
 public class Bank : WebService {
 
      [ WebMethod(TransactionOption=TransactionOption.RequiresNew) ]
      public void Transfer(long Amount, long
 AcctNumberTo, long AcctNumberFrom)  {
            MyCOMObject objBank = new MyCOMObject();
               
            if (objBank.GetBalance(AcctNumberFrom) < Amount
 )
               // Explicitly abort the transaction.
               ContextUtil.SetAbort();
            else {
               // Credit and Debit methods explictly vote within
               // the code for their methods whether to commit or
               // abort the transaction.
               objBank.Credit(Amount, AcctNumberTo);
               objBank.Debit(Amount, AcctNumberFrom);
            }
      }
 }
      
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebMethodAttribute クラス
WebMethodAttribute メンバ
System.Web.Services 名前空間
TransactionOption



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

WebMethodAttribute.TransactionOption プロパティのお隣キーワード
検索ランキング

   

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



WebMethodAttribute.TransactionOption プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS