TransactedBatchingBehavior Třída

Definice

Představuje chování, které optimalizuje operace příjmu pro přenosy, které podporují transakční příjem.

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
Dědičnost
TransactedBatchingBehavior
Implementuje

Příklady

Následující příklad ukazuje, jak přidat transacted dávkové chování do služby v konfiguračním souboru.

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

Následující příklad ukazuje, jak přidat transactované dávkové chování do služby v kódu.

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

Poznámky

Přenos nakonfigurovaný tímto chováním se pokouší do dávky několika operací příjmu do jedné transakce. Tím se relativně vysoké náklady na vytvoření transakce a potvrzení transakce v každé operaci příjmu vyhnete.

Konstruktory

Name Description
TransactedBatchingBehavior(Int32)

Inicializuje novou instanci TransactedBatchingBehavior třídy se zadanou velikostí dávky.

Vlastnosti

Name Description
MaxBatchSize

Získá nebo nastaví maximální počet operací příjmu, které lze dávkot společně v jedné transakci.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Použije nastavení vazby na zadaný koncový bod služby. Tuto metodu nelze zdědit.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Použije nastavení chování dávkování transakcí na zadaný koncový bod služby. Tuto metodu nelze zdědit.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Přidruží dispečer koncového bodu k zadanému koncovému bodu služby. Tuto metodu nelze zdědit.

IEndpointBehavior.Validate(ServiceEndpoint)

Zajišťuje, že transacted batching je použitelný pouze pro vazby, které podporují transakce příjmu operace. Tuto metodu nelze zdědit.

Platí pro