TransactedBatchingBehavior Classe

Définition

Représente un comportement qui optimise les opérations de réception pour les transports qui prennent en charge les réceptions transactionnelles.

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
Héritage
TransactedBatchingBehavior
Implémente

Exemples

L’exemple suivant montre comment ajouter le comportement de traitement par lots transactionnel à un service dans un fichier de configuration.

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

L’exemple suivant montre comment ajouter le comportement de traitement par lots transactionnel à un service dans le code.

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

Remarques

Un transport configuré avec ce comportement tente de traiter plusieurs opérations de réception en une seule transaction. En procédant ainsi, le coût relativement élevé de la création d’une transaction et sa validation dans chaque opération de réception est évité.

Constructeurs

Nom Description
TransactedBatchingBehavior(Int32)

Initialise une nouvelle instance de la TransactedBatchingBehavior classe avec la taille de lot spécifiée.

Propriétés

Nom Description
MaxBatchSize

Obtient ou définit le nombre maximal d’opérations de réception qui peuvent être regroupées par lot dans une transaction.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Applique les paramètres de liaison au point de terminaison de service spécifié. Cette méthode ne peut pas être héritée.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Applique les paramètres de comportement de traitement par lot de transactions au point de terminaison de service spécifié. Cette méthode ne peut pas être héritée.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Associe un répartiteur de points de terminaison au point de terminaison de service spécifié. Cette méthode ne peut pas être héritée.

IEndpointBehavior.Validate(ServiceEndpoint)

Garantit que le traitement par lots transactionnel s’applique uniquement aux liaisons qui prennent en charge l’opération de réception transactionnée. Cette méthode ne peut pas être héritée.

S’applique à