ReliableSessionBindingElement 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 het bindingselement dat de verzendende en ontvangende kanalen kan produceren die vereist zijn voor een betrouwbare sessie tussen eindpunten.
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ReliableSessionBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Implements IPolicyExportExtension
- Overname
- Implementeringen
Voorbeelden
De ReliableSessionBindingElement kan worden toegevoegd aan elke aangepaste binding. Dit gebeurt met behulp van de volgende configuratie-elementen.
<bindings>
<customBinding>
<binding configurationName="ReliabilityHTTP">
<reliableSession/>
</binding>
</customBinding>
</bindings>
In de volgende voorbeeldcode ziet u hoe u deze kunt gebruiken ReliableSessionBindingElement in code.
Uri baseAddress = new Uri("http://localhost:8000/servicemodelsamples/service");
// Create a ServiceHost for the CalculatorService type and provide the base address.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress))
{
// Create a custom binding that contains two binding elements.
ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;
HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
CustomBinding binding = new CustomBinding(reliableSession, httpTransport);
// Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");
// Add a MEX endpoint.
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
smb.HttpGetUrl = new Uri("http://localhost:8001/servicemodelsamples");
serviceHost.Description.Behaviors.Add(smb);
// Open the ServiceHostBase 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 ServiceHostBase to shutdown the service.
serviceHost.Close();
}
Dim baseAddress As New Uri("http://localhost:8000/servicemodelsamples/service")
' Create a ServiceHost for the CalculatorService type and provide the base address.
Using serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)
' Create a custom binding that contains two binding elements.
Dim reliableSession As New ReliableSessionBindingElement()
reliableSession.Ordered = True
Dim httpTransport As New HttpTransportBindingElement()
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard
Dim binding As New CustomBinding(reliableSession, httpTransport)
' Add an endpoint using that binding.
serviceHost.AddServiceEndpoint(GetType(ICalculator), binding, "")
' Add a MEX endpoint.
Dim smb As New ServiceMetadataBehavior()
smb.HttpGetEnabled = True
smb.HttpGetUrl = New Uri("http://localhost:8001/servicemodelsamples")
serviceHost.Description.Behaviors.Add(smb)
' Open the ServiceHostBase 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 ServiceHostBase to shutdown the service.
serviceHost.Close()
End Using
Opmerkingen
Biedt sessies en biedt desgewenst bestelde berichtbezorging. Deze geïmplementeerde sessie kan SOAP- en transporttussenpersonen kruisen.
Elk bindingselement vertegenwoordigt een verwerkingsstap bij het verzenden of ontvangen van berichten. Tijdens runtime maken bindingselementen de kanaalfactory's en listeners die nodig zijn om uitgaande en binnenkomende kanaalstacks te bouwen die nodig zijn voor het verzenden en ontvangen van berichten. De ReliableSessionBindingElement biedt een optionele laag in de stack waarmee een betrouwbare sessie tussen eindpunten tot stand kan worden gebracht en het gedrag van deze sessie kan worden geconfigureerd.
De ReliableSessionBindingElement tabel bevat de standaardbindingen in de volgende tabel.
| Binding | Verstek |
|---|---|
| NetTcpBinding | Uit |
| WSHttpBinding | Uit |
| WSDualHttpBinding | Aan (vereist) |
Constructors
| Name | Description |
|---|---|
| ReliableSessionBindingElement() |
Initialiseert een nieuw exemplaar van de ReliableSessionBindingElement klasse. |
| ReliableSessionBindingElement(Boolean) |
Initialiseert een nieuw exemplaar van de ReliableSessionBindingElement klasse die aangeeft of de bezorging van berichten de volgorde moet behouden waarin berichten worden verzonden. |
Eigenschappen
| Name | Description |
|---|---|
| AcknowledgementInterval |
Hiermee haalt u het tijdsinterval op dat een bestemming wacht voordat een bevestiging naar de berichtbron wordt verzonden op betrouwbare kanalen die door de fabriek worden gemaakt. |
| FlowControlEnabled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de betrouwbare sessie stroombeheer heeft ingeschakeld. |
| InactivityTimeout |
Hiermee kunt u een tijdsinterval instellen of instellen dat een service inactief blijft voordat deze wordt gesloten. |
| MaxPendingChannels |
Hiermee haalt u het grootste aantal kanalen op dat in behandeling kan zijn tijdens de betrouwbare sessie. |
| MaxRetryCount |
Hiermee wordt het maximum aantal keren opgehaald of ingesteld dat een bericht wordt overgebracht tijdens de betrouwbare sessie. |
| MaxTransferWindowSize |
Hiermee haalt u het grootste aantal berichten op of stelt u het grootste aantal berichten in de verzendbuffer of de ontvangstbuffer in. |
| Ordered |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bezorging van berichten de volgorde moet behouden waarin berichten worden verzonden. |
| ReliableMessagingVersion |
Hiermee haalt u de versie van WS-ReliableMessaging op die is opgegeven door het bindingselement. |
Methoden
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Retourneert een fabriek die een kanaal van een opgegeven type maakt dat ondersteuning biedt voor een betrouwbare sessie. |
| BuildChannelListener<TChannel>(BindingContext) |
Retourneert een listener die een kanaal van een opgegeven type accepteert dat een betrouwbare sessie ondersteunt. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Retourneert een waarde die aangeeft of de kanaalfactory kan worden gebouwd voor het kanaal en de context die een betrouwbare sessie kan ondersteunen. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Retourneert een waarde die aangeeft of de kanaallistener kan worden gebouwd voor het kanaal en de context die een betrouwbare sessie kan ondersteunen. |
| Clone() |
Hiermee maakt u een kopie van het huidige betrouwbare sessiebindingselement. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetProperty<T>(BindingContext) |
Hiermee haalt u een eigenschap van het opgegeven type op uit de bindingscontext. |
| 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 |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Wijst de informatie in het betrouwbare sessiebindingselement toe aan de WSDL-elementen waarmee een extern eindpunt toegang kan krijgen tot de service met een betrouwbare sessie. |