TransactedBatchingBehavior Sınıf

Tanım

İşlemsel almaları destekleyen taşımalar için alma işlemlerini iyileştirici bir davranışı temsil eder.

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
Devralma
TransactedBatchingBehavior
Uygulamalar

Örnekler

Aşağıdaki örnekte, işlem yapılan toplu işleme davranışının yapılandırma dosyasındaki bir hizmete nasıl ekleneceği gösterilmektedir.

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

Aşağıdaki örnekte, koddaki bir hizmete işlem yapılan toplu işleme davranışının nasıl ekleneceği gösterilmektedir.

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

Açıklamalar

Bu davranışla yapılandırılan bir aktarım, birkaç alma işlemini tek bir işlemde toplu işlemeye çalışır. Bunu yaptığınızda, bir işlem oluşturmanın ve her alma işleminde işlemenin görece yüksek maliyeti önlenir.

Oluşturucular

TransactedBatchingBehavior(Int32)

Belirtilen toplu iş boyutuyla sınıfının yeni bir örneğini TransactedBatchingBehavior başlatır.

Özellikler

MaxBatchSize

Tek bir işlemde birlikte toplu işlenebilen en fazla alma işlemi sayısını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Belirtilen hizmet uç noktasına bağlama ayarlarını uygular. Bu yöntem devralınamaz.

IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Belirtilen hizmet uç noktasına işlem toplu işlem davranışı ayarlarını uygular. Bu yöntem devralınamaz.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Bir uç nokta dağıtıcısını belirtilen hizmet uç noktasıyla ilişkilendirir. Bu yöntem devralınamaz.

IEndpointBehavior.Validate(ServiceEndpoint)

İşlem yapılan toplu işlemenin yalnızca işlem yapılan alma işlemini destekleyen bağlamalar için geçerli olmasını sağlar. Bu yöntem devralınamaz.

Şunlara uygulanır