Bagikan melalui


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 jika 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 dibuat menggunakan salah satu CustomBinding dari kumpulan elemen pengikatan yang "ditumpuk" dalam urutan tertentu:

Tabel berikut merangkum opsi untuk setiap lapisan.

Lapisan Opsi Diperlukan
Alur Transaksi TransactionFlowBindingElement Tidak
Keandalan ReliableSessionBindingElement Tidak
Keamanan Simetris, Asimetris, Tingkat Transportasi Tidak
Perubahan Bentuk CompositeDuplexBindingElement Tidak
Peningkatan Transportasi Aliran SSL, aliran Windows, Penyelesai Serekan Tidak
Pengodean Teks, Biner, MTOM, Kustom Ya
Transportasi TCP, Pipa yang Dinamai, HTTP, HTTPS, rasa MSMQ, Kustom Ya

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

Untuk diskusi tentang cara menggunakan pengikatan kustom guna mengubah pengikatan yang disediakan sistem, lihat Cara: Menyesuaikan Pengikatan yang Disediakan Sistem.

Catatan

Saat memanggil layanan WCF yang dibuat dengan .NET Framework 4.0 atau yang lebih baru dari aplikasi klien WCF yang dibuat 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 menampilkan ConfigurationErrorsException pesan "Validitas atribut tidak dikenal". Untuk mengatasi masalah ini, hapus atribut validitas dari konfigurasi pengikatan.

Konstruktor

CustomBinding()

Menginisialisasi instans baru 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)

Menginisialisasi instans baru kelas CustomBinding.

CustomBinding(String, String, BindingElement[])

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

Properti

CloseTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar koneksi ditutup sebelum transportasi memunculkan 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 memunculkan pengecualian.

(Diperoleh dari Binding)

Metode

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 dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(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