TransactedBatchingBehavior Klass

Definition

Representerar ett beteende som optimerar mottagningsåtgärderna för transporter som stöder transaktionella mottagningar.

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
Arv
TransactedBatchingBehavior
Implementeringar

Exempel

I följande exempel visas hur du lägger till beteendet för transacted batching till en tjänst i en konfigurationsfil.

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

I följande exempel visas hur du lägger till det transacted batching-beteendet till en tjänst i kod.

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

Kommentarer

En transport som har konfigurerats med det här beteendet försöker batcha flera mottagningsåtgärder till en transaktion. På så sätt undviks den relativt höga kostnaden för att skapa en transaktion och genomföra den i varje mottagningsåtgärd.

Konstruktorer

Name Description
TransactedBatchingBehavior(Int32)

Initierar en ny instans av TransactedBatchingBehavior klassen med den angivna batchstorleken.

Egenskaper

Name Description
MaxBatchSize

Hämtar eller anger det maximala antalet mottagningsåtgärder som kan batchas tillsammans i en transaktion.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Tillämpar bindningsinställningar på den angivna tjänstslutpunkten. Den här metoden kan inte ärvas.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Tillämpar beteendeinställningar för transaktionsbatchbearbetning på den angivna tjänstslutpunkten. Den här metoden kan inte ärvas.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Associerar en slutpunktsutskickare med den angivna tjänstslutpunkten. Den här metoden kan inte ärvas.

IEndpointBehavior.Validate(ServiceEndpoint)

Säkerställer att transacted batching endast gäller för bindningar som stöder transacted receive-åtgärden. Den här metoden kan inte ärvas.

Gäller för