Bahasa

ReliableSessionBindingElement Kelas

Definisi

Mewakili elemen pengikatan yang dapat menghasilkan saluran pengiriman dan penerimaan yang diperlukan untuk sesi yang andal antar titik akhir.

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
Warisan
ReliableSessionBindingElement
Penerapan

Contoh

ReliableSessionBindingElement dapat ditambahkan ke pengikatan kustom apa pun. Ini dilakukan menggunakan elemen konfigurasi berikut.

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

Contoh kode berikut menunjukkan cara menggunakan ReliableSessionBindingElement dalam kode.

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

Keterangan

Menyediakan sesi dan secara opsional menyediakan pengiriman pesan yang dipesan. Sesi yang diimplementasikan ini dapat melintasi SOAP dan perantara transportasi.

Setiap elemen pengikatan mewakili langkah pemrosesan saat mengirim atau menerima pesan. Pada runtime, elemen pengikatan membuat pabrik saluran dan pendengar yang diperlukan untuk membangun tumpukan saluran keluar dan masuk yang diperlukan untuk mengirim dan menerima pesan. ReliableSessionBindingElement menyediakan lapisan opsional dalam tumpukan yang dapat membangun sesi yang andal antara titik akhir dan mengonfigurasi perilaku sesi ini.

ReliableSessionBindingElement disediakan pada pengikatan standar dalam tabel berikut.

Binding Default
NetTcpBinding Nonaktif
WSHttpBinding Nonaktif
WSDualHttpBinding Aktif (diperlukan)

Konstruktor

Nama Deskripsi
ReliableSessionBindingElement()

Menginisialisasi instans baru dari kelas ReliableSessionBindingElement.

ReliableSessionBindingElement(Boolean)

Menginisialisasi instans ReliableSessionBindingElement baru kelas yang menentukan apakah pengiriman pesan harus mempertahankan urutan pesan dikirim.

Properti

Nama Deskripsi
AcknowledgementInterval

Mendapatkan atau mengatur interval waktu tujuan menunggu sebelum mengirim pengakuan ke sumber pesan pada saluran andal yang dibuat oleh pabrik.

FlowControlEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah sesi yang dapat diandalkan mengaktifkan kontrol alur.

InactivityTimeout

Mendapatkan atau mengatur interval waktu layanan tetap tidak aktif sebelum ditutup.

MaxPendingChannels

Mendapatkan atau menetapkan jumlah saluran terbesar yang dapat tertunda selama sesi yang dapat diandalkan.

MaxRetryCount

Mendapatkan atau mengatur berapa kali pesan mencoba ditransfer selama sesi yang dapat diandalkan.

MaxTransferWindowSize

Mendapatkan atau mengatur jumlah pesan terbesar yang dapat ada di buffer kirim atau buffer penerima.

Ordered

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pengiriman pesan harus mempertahankan urutan pengiriman pesan.

ReliableMessagingVersion

Mendapatkan atau mengatur versi WS-ReliableMessaging yang ditentukan oleh elemen pengikatan.

Metode

Nama Deskripsi
BuildChannelFactory<TChannel>(BindingContext)

Mengembalikan pabrik yang membuat saluran dari jenis tertentu yang mendukung sesi yang andal.

BuildChannelListener<TChannel>(BindingContext)

Mengembalikan pendengar yang menerima saluran dengan jenis tertentu yang mendukung sesi andal.

CanBuildChannelFactory<TChannel>(BindingContext)

Mengembalikan nilai yang menunjukkan apakah pabrik saluran dapat dibangun untuk saluran dan konteks yang disediakan yang dapat mendukung sesi yang andal.

CanBuildChannelListener<TChannel>(BindingContext)

Mengembalikan nilai yang menunjukkan apakah pendengar saluran dapat dibangun untuk saluran dan konteks yang disediakan yang dapat mendukung sesi yang andal.

Clone()

Membuat salinan elemen pengikatan sesi yang andal saat ini.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetProperty<T>(BindingContext)

Mendapatkan properti dari jenis yang ditentukan dari konteks pengikatannya.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Memetakan informasi yang terkandung dalam elemen pengikatan sesi yang andal ke dalam elemen WSDL yang memungkinkan titik akhir jarak jauh untuk mengakses layanan dengan sesi yang andal.

Berlaku untuk