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

Комментарии

Транспорт, настроенный с этим поведением, пытается объединить в одну транзакцию несколько операций получения. Это позволяет избежать относительно высоких затрат ресурсов на создание и отправку транзакции для каждой операции получения.

Конструкторы

TransactedBatchingBehavior(Int32)

Инициализирует новый экземпляр класса TransactedBatchingBehavior с заданным размером пакета.

Свойства

MaxBatchSize

Возвращает или задает максимальное число операций получения, которые могут быть объединены в одну транзакцию.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Применяет параметры привязки к заданной конечной точке службы. Этот метод не может быть унаследован.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Применяет параметры поведения объединения транзакций к заданной конечной точке службы. Этот метод не может быть унаследован.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Связывает диспетчера конечной точки с заданной конечной точкой службы. Этот метод не может быть унаследован.

IEndpointBehavior.Validate(ServiceEndpoint)

Гарантирует, что объединение транзакций применимо только к привязкам, поддерживающим операцию получения транзакции. Этот метод не может быть унаследован.

Применяется к