CustomBinding Kelas

Definisi

Menentukan pengikatan dari daftar elemen pengikatan.

public ref class CustomBinding : System::ServiceModel::Channels::Binding
public class CustomBinding : System.ServiceModel.Channels.Binding
[System.Windows.Markup.ContentProperty("Elements")]
public class CustomBinding : System.ServiceModel.Channels.Binding
type CustomBinding = class
    inherit Binding
[<System.Windows.Markup.ContentProperty("Elements")>]
type CustomBinding = class
    inherit Binding
Public Class CustomBinding
Inherits Binding
Warisan
CustomBinding
Atribut

Contoh

Contoh berikut menunjukkan cara membuat CustomBinding objek menggunakan ReliableSessionBindingElement dan HttpTransportBindingElement

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

Gunakan pengikatan kustom saat salah satu pengikatan yang disediakan sistem tidak memenuhi persyaratan layanan Anda. Pengikatan kustom dapat digunakan, misalnya, untuk mengaktifkan penggunaan transportasi baru atau encoder baru di titik akhir layanan.

Pengikatan kustom dibangun menggunakan salah CustomBinding satu dari kumpulan elemen pengikatan yang "ditumpuk" dalam urutan tertentu:

Tabel berikut ini meringkas opsi untuk setiap lapisan.

Lapisan Opsi Required
Aliran Transaksi TransactionFlowBindingElement Tidak
Reliability ReliableSessionBindingElement Tidak
Keamanan Simetris, Asimetris, Transport-Level Tidak
Perubahan Bentuk CompositeDuplexBindingElement Tidak
Peningkatan Transportasi Aliran SSL, aliran Windows, Pemecah Masalah Serekan Tidak
Pengkodean Teks, Biner, MTOM, Kustom Ya
Transport TCP, Pipa Bernama, HTTP, HTTPS, rasa MSMQ, Kustom Ya

Selain itu, Anda dapat menentukan elemen pengikatan Anda sendiri dan menyisipkannya di antara salah satu lapisan yang ditentukan sebelumnya.

Untuk diskusi tentang cara menggunakan pengikatan kustom untuk memodifikasi pengikatan yang disediakan sistem, lihat Cara: Menyesuaikan pengikatan System-Provided.

Note

Saat memanggil layanan WCF yang dibangun dengan .NET Framework 4.0 atau yang lebih baru dari aplikasi klien WCF yang dibangun dengan .NET Framework 3.5 atau yang lebih lama, file konfigurasi yang dihasilkan oleh svcutil.exe atau menambahkan referensi layanan dari Visual Studio akan berisi atribut validitas dalam konfigurasi pengikatan. Atribut ini tidak dikenali oleh runtime .NET Framework 3.5 dan aplikasi akan melemparkan ConfigurationErrorsException dengan pesan "Validitas atribut tidak dikenal". Untuk mengatasi masalah ini, hapus atribut validitas dari konfigurasi pengikatan.

Konstruktor

Nama Deskripsi
CustomBinding()

Menginisialisasi instans baru dari kelas CustomBinding.

CustomBinding(Binding)

Menginisialisasi instans CustomBinding baru kelas dari nilai pengikatan tertentu.

CustomBinding(BindingElement[])

Menginisialisasi instans CustomBinding baru kelas dari array elemen pengikatan.

CustomBinding(IEnumerable<BindingElement>)

Menginisialisasi instans CustomBinding baru kelas dengan elemen pengikatan dari tumpukan saluran lengkap.

CustomBinding(String, String, BindingElement[])

Menginisialisasi instans CustomBinding baru kelas dari array elemen pengikatan dengan nama dan namespace yang ditentukan.

CustomBinding(String)

Menginisialisasi instans baru dari kelas CustomBinding.

Properti

Nama Deskripsi
CloseTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar koneksi ditutup sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)
Elements

Mendapatkan elemen pengikatan dari pengikatan kustom.

MessageVersion

Mendapatkan versi pesan yang digunakan oleh klien dan layanan yang dikonfigurasi dengan pengikatan.

(Diperoleh dari Binding)
Name

Mendapatkan atau mengatur nama pengikatan.

(Diperoleh dari Binding)
Namespace

Mendapatkan atau mengatur namespace XML pengikatan.

(Diperoleh dari Binding)
OpenTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar koneksi terbuka sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)
ReceiveTimeout

Mendapatkan atau mengatur interval waktu koneksi dapat tetap tidak aktif, di mana tidak ada pesan aplikasi yang diterima, sebelum dihilangkan.

(Diperoleh dari Binding)
Scheme

Mendapatkan skema URI untuk transportasi yang digunakan oleh pengikatan kustom.

SendTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar operasi tulis selesai sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)

Metode

Nama Deskripsi
BuildChannelFactory<TChannel>(BindingParameterCollection)

Membangun tumpukan pabrik saluran pada klien yang membuat jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh kumpulan parameter pengikatan.

(Diperoleh dari Binding)
BuildChannelFactory<TChannel>(Object[])

Membangun tumpukan pabrik saluran pada klien yang membuat jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh array objek.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh kumpulan parameter pengikatan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pabrik saluran pada klien yang memenuhi kumpulan parameter pengikatan yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelFactory<TChannel>(Object[])

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pabrik saluran pada klien yang memenuhi persyaratan yang ditentukan oleh array objek.

(Diperoleh dari Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pendengar saluran pada layanan yang memenuhi kumpulan parameter pengikatan yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelListener<TChannel>(Object[])

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pendengar saluran pada layanan yang memenuhi kriteria yang ditentukan dalam array objek.

(Diperoleh dari Binding)
CreateBindingElements()

Mengembalikan kumpulan generik elemen pengikatan dari pengikatan kustom.

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>(BindingParameterCollection)

Mengembalikan objek jenis yang diminta, jika ada, dari lapisan yang sesuai dalam tumpukan pengikatan.

(Diperoleh dari Binding)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ShouldSerializeName()

Mengembalikan apakah nama pengikatan harus diserialisasikan.

(Diperoleh dari Binding)
ShouldSerializeNamespace()

Mengembalikan apakah namespace pengikatan harus diserialisasikan.

(Diperoleh dari Binding)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk