語言

TransactedBatchingBehavior 類別

定義

代表一種行為,優化支援交易接收的傳輸操作。

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
繼承
TransactedBatchingBehavior
實作

範例

以下範例說明如何在設定檔中將交易批次行為加入服務。

<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>

以下範例展示了如何在程式碼中將交易批次行為加入服務。

// 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();
}

備註

設定此行為的傳輸會嘗試將多個接收操作批次處理成一個交易。 如此一來,可以避免每次接收操作中建立交易並提交交易的高成本。

建構函式

名稱 Description
TransactedBatchingBehavior(Int32)

初始化一個以指定批次大小的新類別實例 TransactedBatchingBehavior 。

屬性

名稱 Description
MaxBatchSize

取得或設定可在同一筆交易中批量處理的最大接收操作數量。

方法

名稱 Description
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type。

(繼承來源 Object)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

名稱 Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

將綁定設定套用到指定的服務端點。 無法繼承這個方法。

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

將交易批次行為設定套用於指定的服務端點。 無法繼承這個方法。

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

將端點調度器與指定的服務端點關聯起來。 無法繼承這個方法。

IEndpointBehavior.Validate(ServiceEndpoint)

確保交易批次僅適用於支援交易接收操作的綁定。 無法繼承這個方法。

適用於