TransactedBatchingBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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. |