Freigeben über


TransactedBatchingBehavior Klasse

Definition

Stellt ein Verhalten dar, das Empfangsvorgänge für Transporte optimiert, die transaktionale Empfangsprozesse unterstützen.

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
Vererbung
TransactedBatchingBehavior
Implementiert

Beispiele

Im folgenden Beispiel wird gezeigt, wie einem Dienst das transaktive Batchverarbeitungsverhalten in einer Konfigurationsdatei hinzugefügt wird.

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

Im folgenden Beispiel wird gezeigt, wie einem Dienst das transaktive Batchverarbeitungsverhalten in einem Code hinzugefügt wird.

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

Hinweise

Ein Transport, der für diese Verhaltensversuche konfiguriert ist, um verschiedene Empfangsvorgänge in einer Transaktion zusammenzufassen. Dadurch wird der relativ große Aufwand für das Erstellen und Übergeben einer Transaktion bei jedem Empfangsvorgang vermieden.

Konstruktoren

TransactedBatchingBehavior(Int32)

Initialisiert eine neue Instanz der TransactedBatchingBehavior-Klasse mit der angegebenen Batchgröße.

Eigenschaften

MaxBatchSize

Ruft die die maximale Anzahl an Empfangsvorgängen ab, die in einer Transaktion zusammengefasst werden können, oder legt diese fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Wendet Bindungseinstellungen auf den angegebenen Dienstendpunkt an. Diese Methode kann nicht vererbt werden.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Wendet die Verhaltenseinstellungen für das Transaktionsbatching auf den angegebenen Dienstendpunkt an. Diese Methode kann nicht vererbt werden.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Ordnet dem angegebenen Dienstendpunkt einen Endpunktverteiler zu. Diese Methode kann nicht vererbt werden.

IEndpointBehavior.Validate(ServiceEndpoint)

Stellt sicher, dass die transaktive Batchverarbeitung nur auf die Bindungen angewendet wird, die transaktive Empfangsvorgänge unterstützen. Diese Methode kann nicht vererbt werden.

Gilt für