TransactedBatchingBehavior Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje zachowanie, które optymalizuje operacje odbierania dla transportu, które obsługują odbieranie transakcyjne.
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
- Dziedziczenie
-
TransactedBatchingBehavior
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak dodać zachowanie wsadowe transakcji do usługi w pliku konfiguracji.
<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>
W poniższym przykładzie pokazano, jak dodać zachowanie wsadowe transakcji do usługi w kodzie.
// 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();
}
Uwagi
Transport skonfigurowany przy użyciu tego zachowania próbuje wsadować kilka operacji odbierania do jednej transakcji. Dzięki temu unika się stosunkowo wysokiego kosztu tworzenia transakcji i zatwierdzania jej w każdej operacji odbierania.
Konstruktory
TransactedBatchingBehavior(Int32) |
Inicjuje TransactedBatchingBehavior nowe wystąpienie klasy o określonym rozmiarze partii. |
Właściwości
MaxBatchSize |
Pobiera lub ustawia maksymalną liczbę operacji odbierania, które można wsadować razem w jednej transakcji. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection) |
Stosuje ustawienia powiązania do określonego punktu końcowego usługi. Nie można dziedziczyć tej metody. |
IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint, ClientRuntime) |
Stosuje ustawienia zachowania przetwarzania wsadowego transakcji do określonego punktu końcowego usługi. Nie można dziedziczyć tej metody. |
IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher) |
Kojarzy dyspozytor punktu końcowego z określonym punktem końcowym usługi. Nie można dziedziczyć tej metody. |
IEndpointBehavior.Validate(ServiceEndpoint) |
Gwarantuje, że transakcje wsadowe mają zastosowanie tylko dla powiązań obsługujących operację odbierania transakcji. Nie można dziedziczyć tej metody. |