TransactedBatchingBehavior Klas

Definitie

Vertegenwoordigt een gedrag dat de ontvangstbewerkingen optimaliseert voor transporten die ondersteuning bieden voor transactionele ontvangst.

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
Overname
TransactedBatchingBehavior
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u het transacted batchinggedrag toevoegt aan een service in een configuratiebestand.

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

In het volgende voorbeeld ziet u hoe u het gedrag van transacted batching toevoegt aan een service in 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();
}

Opmerkingen

Een transport dat met dit gedrag is geconfigureerd, probeert verschillende ontvangstbewerkingen in één transactie te batcheren. Hierdoor worden de relatief hoge kosten voor het maken van een transactie en het doorvoeren ervan in elke ontvangstbewerking vermeden.

Constructors

Name Description
TransactedBatchingBehavior(Int32)

Initialiseert een nieuw exemplaar van de TransactedBatchingBehavior klasse met de opgegeven batchgrootte.

Eigenschappen

Name Description
MaxBatchSize

Hiermee wordt het maximum aantal ontvangstbewerkingen opgehaald of ingesteld dat in één transactie kan worden gebatcheerd.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Hiermee past u bindingsinstellingen toe op het opgegeven service-eindpunt. Deze methode kan niet worden overgenomen.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Hiermee past u gedragsinstellingen voor transactiebatches toe op het opgegeven service-eindpunt. Deze methode kan niet worden overgenomen.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Koppelt een eindpunt-dispatcher aan het opgegeven service-eindpunt. Deze methode kan niet worden overgenomen.

IEndpointBehavior.Validate(ServiceEndpoint)

Zorgt ervoor dat transacted batchverwerking alleen van toepassing is op de bindingen die transacted receive operation ondersteunen. Deze methode kan niet worden overgenomen.

Van toepassing op