Udostępnij za pośrednictwem


TransactedBatchingBehavior Klasa

Definicja

Reprezentuje zachowanie, które optymalizuje operacje odbierania dla transportu, które obsługują odbieranie transakcyjne.

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
Dziedziczenie
TransactedBatchingBehavior
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak dodać zachowanie wsadowe transakcji do usługi w pliku konfiguracji.

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

W poniższym przykładzie pokazano, jak dodać zachowanie wsadowe transakcji do usługi w kodzie.

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

Uwagi

Transport skonfigurowany przy użyciu tego zachowania próbuje wsadować kilka operacji odbierania do jednej transakcji. Dzięki temu unika się stosunkowo wysokiego kosztu tworzenia transakcji i zatwierdzania jej w każdej operacji odbierania.

Konstruktory

TransactedBatchingBehavior(Int32)

Inicjuje TransactedBatchingBehavior nowe wystąpienie klasy o określonym rozmiarze partii.

Właściwości

MaxBatchSize

Pobiera lub ustawia maksymalną liczbę operacji odbierania, które można wsadować razem w jednej transakcji.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Stosuje ustawienia powiązania do określonego punktu końcowego usługi. Nie można dziedziczyć tej metody.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Stosuje ustawienia zachowania przetwarzania wsadowego transakcji do określonego punktu końcowego usługi. Nie można dziedziczyć tej metody.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Kojarzy dyspozytor punktu końcowego z określonym punktem końcowym usługi. Nie można dziedziczyć tej metody.

IEndpointBehavior.Validate(ServiceEndpoint)

Gwarantuje, że transakcje wsadowe mają zastosowanie tylko dla powiązań obsługujących operację odbierania transakcji. Nie można dziedziczyć tej metody.

Dotyczy