ReliableSessionBindingElement Sınıf

Tanım

Uç noktalar arasında güvenilir bir oturum için gereken gönderme ve alma kanallarını üretebilen bağlama öğesini temsil eder.

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
Devralma
ReliableSessionBindingElement
Uygulamalar

Örnekler

ReliableSessionBindingElement herhangi bir özel bağlamaya eklenebilir. Bu işlem aşağıdaki yapılandırma öğeleri kullanılarak yapılır.

<bindings>
    <customBinding>
        <binding configurationName="ReliabilityHTTP">
            <reliableSession/>
        </binding>
    </customBinding>
</bindings>

Aşağıdaki örnek kod, kodda nasıl kullanılacağını ReliableSessionBindingElement gösterir.

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

Açıklamalar

Oturumlar sağlar ve isteğe bağlı olarak sıralı ileti teslimi sağlar. Uygulanan bu oturum SOAP ve aktarım aracıları arasında geçiş yapabilir.

Her bağlama öğesi, ileti gönderirken veya alırken bir işleme adımlarını temsil eder. Çalışma zamanında bağlama öğeleri, iletileri göndermek ve almak için gereken giden ve gelen kanal yığınlarını oluşturmak için gerekli olan kanal fabrikalarını ve dinleyicileri oluşturur. , ReliableSessionBindingElement yığında uç noktalar arasında güvenilir bir oturum oluşturabilen ve bu oturumun davranışını yapılandırabilen isteğe bağlı bir katman sağlar.

ReliableSessionBindingElement aşağıdaki tabloda yer alan standart bağlamalarda sağlanır.

Bağlama Varsayılan
NetTcpBinding Kapalı
WSHttpBinding Kapalı
WSDualHttpBinding Açık (gerekli)

Oluşturucular

ReliableSessionBindingElement()

ReliableSessionBindingElement sınıfının yeni bir örneğini başlatır.

ReliableSessionBindingElement(Boolean)

İleti tesliminin iletilerin ReliableSessionBindingElement gönderilme sırasını koruması gerekip gerekmediğini belirten sınıfının yeni bir örneğini başlatır.

Özellikler

AcknowledgementInterval

Fabrika tarafından oluşturulan güvenilir kanallarda ileti kaynağına onay göndermeden önce hedefin bekleyeceği süreyi alır veya ayarlar.

FlowControlEnabled

Güvenilir oturumun akış denetimini etkinleştirip etkinleştirmediğini belirten bir değer alır veya ayarlar.

InactivityTimeout

Kapatmadan önce hizmetin etkin olmadığı bir zaman aralığı alır veya ayarlar.

MaxPendingChannels

Güvenilir oturum sırasında beklemede olabilecek en fazla kanalı alır veya ayarlar.

MaxRetryCount

Güvenilir oturum sırasında iletinin aktarılmaya çalışılma sayısı üst sınırını alır veya ayarlar.

MaxTransferWindowSize

Gönderme arabelleğinde veya alma arabelleğinde bulunabilecek en fazla sayıda iletiyi alır veya ayarlar.

Ordered

İleti tesliminin iletilerin gönderilme sırasını koruması gerekip gerekmediğini belirten bir değer alır veya ayarlar.

ReliableMessagingVersion

Bağlama öğesi tarafından belirtilen WS-ReliableMessaging sürümünü alır veya ayarlar.

Yöntemler

BuildChannelFactory<TChannel>(BindingContext)

Güvenilir oturumu destekleyen belirtilen türde bir kanal oluşturan bir fabrika döndürür.

BuildChannelListener<TChannel>(BindingContext)

Güvenilir oturumu destekleyen belirtilen türde bir kanalı kabul eden bir dinleyici döndürür.

BuildChannelListener<TChannel>(BindingContext)

Bağlama bağlamından belirtilen türdeki kanalları kabul etmek için bir kanal dinleyicisi başlatır.

(Devralındığı yer: BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Kanal fabrikasının güvenilir bir oturumu destekleyebilecek şekilde kanal ve bağlam için oluşturulup oluşturulamayacağını gösteren bir değer döndürür.

CanBuildChannelListener<TChannel>(BindingContext)

Güvenilir bir oturumu destekleyebilen kanal ve bağlam için kanal dinleyicisinin oluşturulup oluşturulamayacağını gösteren bir değer döndürür.

CanBuildChannelListener<TChannel>(BindingContext)

Bağlama öğesinin belirli bir kanal türü için dinleyici oluşturup oluşturamayacağını gösteren bir değer döndürür.

(Devralındığı yer: BindingElement)
Clone()

Geçerli güvenilir oturum bağlama öğesinin bir kopyasını oluşturur.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperty<T>(BindingContext)

Belirtilen türdeki bir özelliği bağlama bağlamından alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Güvenilir oturum bağlama öğesinde yer alan bilgileri, uzak uç noktanın güvenilir bir oturumla hizmete erişmesini sağlayan WSDL öğeleriyle eşler.

Şunlara uygulanır