Bagikan melalui


HttpTransportBindingElement Kelas

Definisi

Mewakili elemen pengikatan yang digunakan untuk menentukan transportasi HTTP untuk mengirimkan pesan.

public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement
public ref class HttpTransportBindingElement : System::ServiceModel::Channels::TransportBindingElement, System::ServiceModel::Description::IPolicyExportExtension, System::ServiceModel::Description::IWsdlExportExtension
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement
public class HttpTransportBindingElement : System.ServiceModel.Channels.TransportBindingElement, System.ServiceModel.Description.IPolicyExportExtension, System.ServiceModel.Description.IWsdlExportExtension
type HttpTransportBindingElement = class
    inherit TransportBindingElement
type HttpTransportBindingElement = class
    inherit TransportBindingElement
    interface IWsdlExportExtension
    interface IPolicyExportExtension
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Public Class HttpTransportBindingElement
Inherits TransportBindingElement
Implements IPolicyExportExtension, IWsdlExportExtension
Warisan
HttpTransportBindingElement
Turunan
Penerapan

Contoh

Kode berikut menunjukkan cara menggunakan 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

HttpTransportBindingElement juga dapat digunakan dalam file konfigurasi seperti yang ditunjukkan dalam konfigurasi berikut.

<bindings>
  <customBinding>
    <binding name="Binding1">
      <reliableSession acknowledgementInterval="00:00:00.2000000" enableFlowControl="true"
                        maxTransferWindowSize="32" inactivityTimeout="00:10:00" maxPendingChannels="128"
                        maxRetryCount="8" ordered="true" />
      <security mode="None"/>
      <httpTransport authenticationScheme="Anonymous" bypassProxyOnLocal="false"
                    hostNameComparisonMode="StrongWildcard"
                    proxyAuthenticationScheme="Anonymous" realm=""
                    useDefaultWebProxy="true" />
    </binding>
  </customBinding>
</bindings>

Keterangan

Kelas HttpTransportBindingElement adalah titik awal untuk membuat pengikatan kustom yang mengimplementasikan protokol transportasi HTTP. HTTP adalah transportasi utama yang digunakan untuk tujuan interoperabilitas. Transportasi ini didukung oleh Windows Communication Foundation (WCF) untuk memastikan interoperabilitas dengan tumpukan layanan Web non-WCF lainnya.

Model layanan WCF menggunakan kelas ini untuk membuat objek pabrik yang mengimplementasikan IChannelFactory antarmuka dan IChannelListener . Objek pabrik ini, pada gilirannya, membuat saluran dan pendengar yang mengirimkan pesan SOAP menggunakan protokol HTTP.

Anda mengonfigurasi pabrik yang dibuat kelas ini dengan mengatur propertinya, seperti AuthenticationScheme, HostNameComparisonMode, dan MaxBufferSize.

Anda juga dapat mengatur properti pada kelas dasar, TransportBindingElement, seperti ManualAddressing, MaxReceivedMessageSize, dan MaxBufferPoolSize. Untuk daftar lengkap properti, lihat TransportBindingElement.

Konstruktor

Nama Deskripsi
HttpTransportBindingElement()

Menginisialisasi instans baru dari kelas HttpTransportBindingElement.

HttpTransportBindingElement(HttpTransportBindingElement)

Menginisialisasi instans HttpTransportBindingElement baru kelas menggunakan elemen pengikatan lain.

Properti

Nama Deskripsi
AllowCookies

Mendapatkan atau menetapkan nilai yang menunjukkan apakah klien menerima cookie dan menyebarkannya pada permintaan di masa mendatang.

AuthenticationScheme

Mendapatkan atau mengatur skema autentikasi yang digunakan untuk mengautentikasi permintaan klien yang sedang diproses oleh pendengar HTTP.

BypassProxyOnLocal

Mendapatkan atau menetapkan nilai yang menunjukkan apakah proksi diabaikan untuk alamat lokal.

DecompressionEnabled

Mendapatkan atau mengatur apakah proses untuk mengembalikan data pesan terkompresi ke ukuran dan format aslinya diaktifkan.

ExtendedProtectionPolicy

Mendapatkan atau menetapkan nilai kebijakan keamanan diperpanjang yang digunakan oleh server untuk memvalidasi koneksi klien masuk.

HostNameComparisonMode

Mendapatkan atau menetapkan nilai yang menunjukkan apakah nama host digunakan untuk menjangkau layanan saat cocok pada URI.

KeepAliveEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan membuat koneksi persisten ke titik akhir layanan.

ManualAddressing

Mendapatkan atau menetapkan nilai yang menunjukkan apakah alamat manual pesan diperlukan.

(Diperoleh dari TransportBindingElement)
MaxBufferPoolSize

Mendapatkan atau mengatur ukuran maksimum, dalam byte, dari kumpulan buffer apa pun yang digunakan oleh transportasi.

(Diperoleh dari TransportBindingElement)
MaxBufferSize

Mendapatkan atau mengatur ukuran maksimum buffer yang akan digunakan. Untuk pesan buffer nilai ini sama MaxReceivedMessageSizedengan . Untuk pesan yang dialirkan, nilai ini adalah ukuran maksimum header SOAP, yang harus dibaca dalam mode buffer.

MaxPendingAccepts

Mendapatkan atau mengatur jumlah maksimum koneksi yang dapat diterima layanan secara bersamaan.

MaxReceivedMessageSize

Mendapatkan atau mengatur ukuran pesan maksimum yang diizinkan, dalam byte, yang dapat diterima.

(Diperoleh dari TransportBindingElement)
MessageHandlerFactory

Mendapatkan atau mengatur pabrik handler pesan transportasi Http.

Proxy

Mewakili elemen pengikatan yang digunakan untuk menentukan transportasi HTTP untuk mengirimkan pesan.

ProxyAddress

Mendapatkan atau mengatur URI yang berisi alamat proksi yang akan digunakan untuk permintaan HTTP.

ProxyAuthenticationScheme

Mendapatkan atau mengatur skema autentikasi yang digunakan untuk mengautentikasi permintaan klien yang diproses oleh proksi HTTP.

Realm

Mendapatkan atau mengatur ranah autentikasi.

RequestInitializationTimeout

Mendapatkan atau mengatur waktu inisialisasi yang diminta habis.

Scheme

Mendapatkan skema URI untuk transportasi.

TransferMode

Mendapatkan atau mengatur mode transfer.

UnsafeConnectionNtlmAuthentication

Mendapatkan atau menetapkan nilai yang menunjukkan apakah Berbagi Koneksi Tidak Aman diaktifkan di server. Jika diaktifkan, autentikasi NTLM dilakukan sekali pada setiap koneksi TCP.

UseDefaultWebProxy

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pengaturan proksi di seluruh komputer digunakan daripada pengaturan spesifik pengguna.

WebSocketSettings

Mendapatkan atau mengatur konfigurasi soket web dari elemen pengikatan.

Metode

Nama Deskripsi
BuildChannelFactory<TChannel>(BindingContext)

Membuat pabrik saluran yang dapat digunakan untuk membuat saluran.

BuildChannelListener<TChannel>(BindingContext)

Membuat pendengar saluran dari jenis yang ditentukan.

CanBuildChannelFactory<TChannel>(BindingContext)

Menentukan apakah pabrik saluran dari jenis yang ditentukan dapat dibangun.

CanBuildChannelListener<TChannel>(BindingContext)

Menentukan apakah pendengar saluran dari jenis yang ditentukan dapat dibangun.

Clone()

Membuat instans baru yang merupakan salinan elemen pengikatan 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 yang ditentukan BindingContext.

GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ShouldSerializeExtendedProtectionPolicy()

Mengembalikan nilai yang menunjukkan bahwa tidak dimungkinkan untuk XAML menserialisasikan kebijakan perlindungan yang diperluas.

ShouldSerializeMessageHandlerFactory()

Menentukan apakah pabrik handler pesan harus diserialisasikan.

ShouldSerializeWebSocketSettings()

Menentukan apakah pengaturan soket web harus diserialisasikan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
UpdateAuthenticationSchemes(BindingContext)

Memperbarui skema autentikasi transportasi yang berisi konteks pengikatan.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Mengekspor pernyataan kebijakan kustom tentang pengikatan.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Menulis elemen Web Services Description Language (WSDL) kustom ke dalam WSDL yang dihasilkan untuk kontrak.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Menulis elemen Web Services Description Language (WSDL) kustom ke dalam WSDL yang dihasilkan untuk titik akhir.

Berlaku untuk