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

설명

이 동작으로 구성된 전송은 여러 수신 작업을 하나의 트랜잭션으로 일괄 처리하려고 시도합니다. 이렇게 하면 트랜잭션을 만들고 모든 수신 작업에서 커밋하는 비교적 높은 비용이 방지됩니다.

생성자

Name Description
TransactedBatchingBehavior(Int32)

지정된 일괄 처리 크기를 사용하여 클래스의 TransactedBatchingBehavior 새 인스턴스를 초기화합니다.

속성

Name Description
MaxBatchSize

한 트랜잭션에서 함께 일괄 처리할 수 있는 최대 수신 작업 수를 가져오거나 설정합니다.

메서드

Name Description
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

지정된 서비스 엔드포인트에 바인딩 설정을 적용합니다. 이 메서드는 상속할 수 없습니다.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

지정된 서비스 엔드포인트에 트랜잭션 일괄 처리 동작 설정을 적용합니다. 이 메서드는 상속할 수 없습니다.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

엔드포인트 디스패처를 지정된 서비스 엔드포인트와 연결합니다. 이 메서드는 상속할 수 없습니다.

IEndpointBehavior.Validate(ServiceEndpoint)

트랜잭션된 일괄 처리는 거래된 수신 작업을 지원하는 바인딩에만 적용할 수 있는지 확인합니다. 이 메서드는 상속할 수 없습니다.

적용 대상