TransactedBatchingBehavior Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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. |