TransactedBatchingBehavior TransactedBatchingBehavior TransactedBatchingBehavior TransactedBatchingBehavior Class

定義

トランザクションの受信をサポートするトランスポートの受信操作を最適化する動作を表します。Represents a behavior that optimizes the receive operations for transports that support transactional receives.

public ref class TransactedBatchingBehavior : System::ServiceModel::Description::IEndpointBehavior
public class TransactedBatchingBehavior : System.ServiceModel.Description.IEndpointBehavior
type TransactedBatchingBehavior = class
    interface IEndpointBehavior
Public Class TransactedBatchingBehavior
Implements IEndpointBehavior
継承
TransactedBatchingBehaviorTransactedBatchingBehaviorTransactedBatchingBehaviorTransactedBatchingBehavior
実装

構成ファイル内でサービスにトランザクション バッチ動作を追加する方法を次の例に示します。The following example shows how to add the transacted batching behavior to a service in a configuration file.

<system.serviceModel>
  <services>
    <service name="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <host>
        <baseAddresses>
          <add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
        </baseAddresses>
      </host>
     
      <endpoint address="net.msmq://localhost/private/ServiceModelSamples"
                binding="netMsmqBinding"
                contract="Microsoft.ServiceModel.Samples.IQueueCalculator" />
     
      <endpoint address="mex"
                binding="mexHttpBinding"
                contract="IMetadataExchange" />
    </service>
  </services>

  <behaviors>
    <serviceBehaviors>
      <behavior name="CalculatorServiceBehavior">
        <serviceMetadata httpGetEnabled="True"/>
      </behavior>
      <behavior name="transactedBatching" maxBatchSize="10">
      </behavior>
    </serviceBehaviors>
  </behaviors>

</system.serviceModel>

コードでサービスにトランザクション バッチ動作を追加する方法を次の例に示します。The following example shows how to add the transacted batching behavior to a service in code.

// Note: Service class must be marked with [ServiceBehavior(ReleaseServiceInstanceOnTransactionComplete=false)].

Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/service");

// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
    ServiceEndpoint endpoint;
    endpoint = serviceHost.AddServiceEndpoint(typeof(IQueueCalculator), new NetMsmqBinding(),"net.msmq://localhost/private/ServiceModelSamples");
    endpoint.Behaviors.Add(new TransactedBatchingBehavior(10));

    // Open the ServiceHost to create listeners and start listening for messages.
    serviceHost.Open();

    // The service can now be accessed.
    Console.WriteLine("The service is ready.");
    Console.WriteLine("Press <ENTER> to terminate service.");
    Console.WriteLine();
    Console.ReadLine();

    // Close the ServiceHost to shutdown the service.
    serviceHost.Close();
}

注釈

この動作で構成されるトランスポートは、複数の受信操作を 1 つのトランザクションにバッチ処理しようとします。A transport that is configured with this behavior attempts to batch several receive operations into one transaction. これを実行することにより、受信操作のたびに行うトランザクションの作成とそのコミットの比較的高いコストを回避できます。By doing so, the relatively high cost of creating a transaction and committing it in every receive operation is avoided.

コンストラクター

TransactedBatchingBehavior(Int32) TransactedBatchingBehavior(Int32) TransactedBatchingBehavior(Int32) TransactedBatchingBehavior(Int32)

指定したバッチ サイズを使用して、TransactedBatchingBehavior クラスの新しいインスタンスを初期化します。Initializes a new instance of the TransactedBatchingBehavior class with the specified batch size.

プロパティ

MaxBatchSize MaxBatchSize MaxBatchSize MaxBatchSize

1 回のトランザクションでまとめてバッチ処理できる受信操作の最大数を取得または設定します。Gets or sets the maximum number of receive operations that can be batched together in one transaction.

明示的なインターフェイスの実装

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection) IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection) IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection) IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

指定したサービス エンドポイントにバインディング設定を適用します。Applies binding settings to the specified service endpoint. このメソッドは継承できません。This method cannot be inherited.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime) IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime) IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime) IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

指定したサービス エンドポイントにトランザクション バッチ動作設定を適用します。Applies transaction batching behavior settings to the specified service endpoint. このメソッドは継承できません。This method cannot be inherited.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher) IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher) IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher) IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

指定したサービス エンドポイントにエンドポイント ディスパッチャーを関連付けます。Associates an endpoint dispatcher with the specified service endpoint. このメソッドは継承できません。This method cannot be inherited.

IEndpointBehavior.Validate(ServiceEndpoint) IEndpointBehavior.Validate(ServiceEndpoint) IEndpointBehavior.Validate(ServiceEndpoint) IEndpointBehavior.Validate(ServiceEndpoint)

トランザクション受信操作をサポートするバインディングにのみトランザクション バッチが適用されることを確認します。Ensures that transacted batching is applicable only for the bindings that support transacted receive operation. このメソッドは継承できません。This method cannot be inherited.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象