ReliableSessionBindingElement Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje prvek vazby, který může vytvořit odesílající a přijímající kanály požadované pro spolehlivou relaci mezi koncovými body.
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement
public ref class ReliableSessionBindingElement sealed : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Description::IPolicyExportExtension
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement
public sealed class ReliableSessionBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ReliableSessionBindingElement = class
inherit BindingElement
type ReliableSessionBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Public NotInheritable Class ReliableSessionBindingElement
Inherits BindingElement
Implements IPolicyExportExtension
- Dědičnost
- Implementuje
Příklady
Dá ReliableSessionBindingElement se přidat do jakékoli vlastní vazby. To se provádí pomocí následujících konfiguračních prvků.
<bindings>
<customBinding>
<binding configurationName="ReliabilityHTTP">
<reliableSession/>
</binding>
</customBinding>
</bindings>
Následující ukázkový kód ukazuje použití ReliableSessionBindingElement v kódu.
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
Poznámky
Poskytuje relace a volitelně poskytuje seřazené doručování zpráv. Tato implementovaná relace může křížovat zprostředkovatele SOAP a dopravy.
Každý element vazby představuje krok zpracování při odesílání nebo přijímání zpráv. Za běhu vytvářejí vazbové prvky objekty pro vytváření kanálů a naslouchací procesy, které jsou nezbytné k sestavení zásobníků odchozích a příchozích kanálů potřebných k odesílání a přijímání zpráv. Poskytuje ReliableSessionBindingElement volitelnou vrstvu v zásobníku, která může vytvořit spolehlivou relaci mezi koncovými body a nakonfigurovat chování této relace.
Standardní ReliableSessionBindingElement vazby jsou k dispozici v následující tabulce.
Vazba | Výchozí |
---|---|
NetTcpBinding | Vypnout |
WSHttpBinding | Vypnout |
WSDualHttpBinding | Zapnuto (povinné) |
Konstruktory
ReliableSessionBindingElement() |
Inicializuje novou instanci ReliableSessionBindingElement třídy. |
ReliableSessionBindingElement(Boolean) |
Inicializuje novou instanci ReliableSessionBindingElement třídy, která určuje, zda doručení zprávy musí zachovat pořadí, ve kterém jsou zprávy odeslány. |
Vlastnosti
AcknowledgementInterval |
Získá nebo nastaví interval času, který cíl čeká před odesláním potvrzení do zdroje zpráv ve spolehlivých kanálech vytvořených továrnou. |
FlowControlEnabled |
Získá nebo nastaví hodnotu, která označuje, zda spolehlivá relace má povolenou kontrolu toku. |
InactivityTimeout |
Získá nebo nastaví interval času, který služba zůstane neaktivní před zavřením. |
MaxPendingChannels |
Získá nebo nastaví největší počet kanálů, které mohou být čekající během spolehlivé relace. |
MaxRetryCount |
Získá nebo nastaví maximální počet pokusů o přenos zprávy během spolehlivé relace. |
MaxTransferWindowSize |
Získá nebo nastaví největší počet zpráv, které mohou existovat v vyrovnávací paměti pro odesílání nebo přijímat vyrovnávací paměť. |
Ordered |
Získá nebo nastaví hodnotu, která označuje, zda doručení zprávy musí zachovat pořadí, ve kterém se zprávy odesílají. |
ReliableMessagingVersion |
Získá nebo nastaví verzi WS-ReliableMessaging určené vazbou elementu. |
Metody
BuildChannelFactory<TChannel>(BindingContext) |
Vrátí továrnu, která vytvoří kanál zadaného typu, který podporuje spolehlivou relaci. |
BuildChannelListener<TChannel>(BindingContext) |
Vrátí naslouchací proces, který přijímá kanál zadaného typu, který podporuje spolehlivou relaci. |
BuildChannelListener<TChannel>(BindingContext) |
Inicializuje naslouchací proces kanálu tak, aby přijímal kanály zadaného typu z kontextu vazby. (Zděděno od BindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Vrátí hodnotu, která označuje, jestli je možné vytvořit objekt pro vytváření kanálů pro kanál a kontext za předpokladu, že může podporovat spolehlivou relaci. |
CanBuildChannelListener<TChannel>(BindingContext) |
Vrátí hodnotu, která označuje, zda lze naslouchací proces kanálu sestavit pro kanál a kontext, který může podporovat spolehlivou relaci. |
CanBuildChannelListener<TChannel>(BindingContext) |
Vrátí hodnotu, která označuje, zda prvek vazby může vytvořit naslouchací proces pro konkrétní typ kanálu. (Zděděno od BindingElement) |
Clone() |
Vytvoří kopii aktuálního spolehlivého prvku vazby relace. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetProperty<T>(BindingContext) |
Získá vlastnost zadaného typu z kontextu vazby. |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Mapy informace obsažené v prvku spolehlivé vazby relace do elementů WSDL, které umožňují vzdálenému koncovému bodu přistupovat ke službě pomocí spolehlivé relace. |