ReliableSessionBindingElement Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar bindningselementet som kan producera de sändnings- och mottagningskanaler som krävs för en tillförlitlig session mellan slutpunkter.
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
- Arv
- Implementeringar
Exempel
ReliableSessionBindingElement Kan läggas till i alla anpassade bindningar. Detta görs med hjälp av följande konfigurationselement.
<bindings>
<customBinding>
<binding configurationName="ReliabilityHTTP">
<reliableSession/>
</binding>
</customBinding>
</bindings>
Följande exempelkod visar hur du använder ReliableSessionBindingElement i kod.
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
Kommentarer
Tillhandahåller sessioner och eventuellt ordnad meddelandeleverans. Den här implementerade sessionen kan korsa SOAP och transportförmedlare.
Varje bindningselement representerar ett bearbetningssteg när meddelanden skickas eller tas emot. Vid körning skapar bindningselement de kanalfabriker och lyssnare som krävs för att skapa utgående och inkommande kanalstackar som krävs för att skicka och ta emot meddelanden. Tillhandahåller ReliableSessionBindingElement ett valfritt lager i stacken som kan upprätta en tillförlitlig session mellan slutpunkter och konfigurera beteendet för den här sessionen.
ReliableSessionBindingElement tillhandahålls på standardbindningarna i följande tabell.
| Binding | Standardinställning |
|---|---|
| NetTcpBinding | Av |
| WSHttpBinding | Av |
| WSDualHttpBinding | På (krävs) |
Konstruktorer
| Name | Description |
|---|---|
| ReliableSessionBindingElement() |
Initierar en ny instans av ReliableSessionBindingElement klassen. |
| ReliableSessionBindingElement(Boolean) |
Initierar en ny instans av ReliableSessionBindingElement klassen som anger om meddelandeleveransen måste bevara den ordning i vilken meddelanden skickas. |
Egenskaper
| Name | Description |
|---|---|
| AcknowledgementInterval |
Hämtar eller anger det tidsintervall som ett mål väntar innan en bekräftelse skickas till meddelandekällan på tillförlitliga kanaler som skapas av fabriken. |
| FlowControlEnabled |
Hämtar eller anger ett värde som anger om den tillförlitliga sessionen har flödeskontroll aktiverad. |
| InactivityTimeout |
Hämtar eller anger ett tidsintervall som en tjänst förblir inaktiv innan den stängs. |
| MaxPendingChannels |
Hämtar eller anger det största antalet kanaler som kan vänta under den tillförlitliga sessionen. |
| MaxRetryCount |
Hämtar eller anger det maximala antalet gånger som ett meddelande försöker överföras under den tillförlitliga sessionen. |
| MaxTransferWindowSize |
Hämtar eller anger det största antalet meddelanden som kan finnas i antingen sändningsbufferten eller mottagningsbufferten. |
| Ordered |
Hämtar eller anger ett värde som anger om meddelandeleveransen måste bevara den ordning i vilken meddelanden skickas. |
| ReliableMessagingVersion |
Hämtar eller anger den version av WS-ReliableMessaging som anges av bindningselementet. |
Metoder
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Returnerar en fabrik som skapar en kanal av en angiven typ som stöder en tillförlitlig session. |
| BuildChannelListener<TChannel>(BindingContext) |
Returnerar en lyssnare som accepterar en kanal av en angiven typ som stöder en tillförlitlig session. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Returnerar ett värde som anger om kanalfabriken kan skapas för kanalen och kontexten förutsatt att den stöder en tillförlitlig session. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Returnerar ett värde som anger om kanallyssnaren kan skapas för kanalen och kontexten förutsatt att den stöder en tillförlitlig session. |
| Clone() |
Skapar en kopia av det aktuella tillförlitliga sessionsbindningselementet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetProperty<T>(BindingContext) |
Hämtar en egenskap av den angivna typen från dess bindningskontext. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Mappar informationen i det tillförlitliga sessionsbindningselementet till WSDL-elementen som gör det möjligt för en fjärrslutpunkt att komma åt tjänsten med en tillförlitlig session. |