Share via


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 HttpTransportBindingElementsecara imperatif .

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, , TransportBindingElementseperti ManualAddressing, MaxReceivedMessageSize, dan MaxBufferPoolSize. Untuk daftar lengkap properti, lihat TransportBindingElement.

Konstruktor

HttpTransportBindingElement()

Menginisialisasi instans baru kelas HttpTransportBindingElement.

HttpTransportBindingElement(HttpTransportBindingElement)

Menginisialisasi instans HttpTransportBindingElement baru kelas menggunakan elemen pengikatan lain.

Properti

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 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 mencocokkan 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 pengalamatan pesan secara manual diperlukan.

(Diperoleh dari TransportBindingElement)
MaxBufferPoolSize

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

(Diperoleh dari TransportBindingElement)
MaxBufferSize

Mendapatkan atau menetapkan 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 penangan 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 realm 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

BuildChannelFactory<TChannel>(BindingContext)

Membuat pabrik saluran yang dapat digunakan untuk membuat saluran.

BuildChannelListener<TChannel>(BindingContext)

Membuat pendengar saluran dari jenis yang ditentukan.

BuildChannelListener<TChannel>(BindingContext)

Menginisialisasi pendengar saluran untuk menerima saluran dengan jenis tertentu dari konteks pengikatan.

(Diperoleh dari BindingElement)
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.

CanBuildChannelListener<TChannel>(BindingContext)

Mengembalikan nilai yang menunjukkan apakah elemen pengikatan dapat membangun pendengar untuk jenis saluran tertentu.

(Diperoleh dari BindingElement)
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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ShouldSerializeExtendedProtectionPolicy()

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

ShouldSerializeMessageHandlerFactory()

Menentukan apakah pabrik penangan pesan harus diserialisasikan.

ShouldSerializeWebSocketSettings()

Menentukan apakah pengaturan soket web harus diserialisasikan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
UpdateAuthenticationSchemes(BindingContext)

Updates skema autentikasi transportasi yang berisi konteks pengikatan.

Implementasi Antarmuka Eksplisit

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