HttpTransportBindingElement Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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. |