HttpTransportBindingElement Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İletileri iletmek için bir HTTP aktarımı belirtmek için kullanılan bağlama öğesini temsil eder.
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
- Devralma
- Türetilmiş
- Uygulamalar
Örnekler
Aşağıdaki kod, öğesinin kesin olarak nasıl kullanılacağını HttpTransportBindingElementgösterir.
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
aşağıdaki yapılandırmada gösterildiği gibi bir yapılandırma dosyasında da kullanılabilir.
<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>
Açıklamalar
HttpTransportBindingElement sınıfı, HTTP aktarım protokollerini uygulayan özel bir bağlama oluşturmaya yönelik başlangıç noktasıdır. HTTP, birlikte çalışabilirlik amacıyla kullanılan birincil aktarımdır. Bu aktarım, diğer WCF olmayan Web hizmetleri yığınlarıyla birlikte çalışabilirliği sağlamak için Windows Communication Foundation (WCF) tarafından desteklenir.
WCF hizmet modeli, ve IChannelListener arabirimlerini uygulayan IChannelFactory fabrika nesneleri oluşturmak için bu sınıfı kullanır. Bu fabrika nesneleri de HTTP protokollerini kullanarak SOAP iletilerini ileten kanalları ve dinleyicileri oluşturur.
Bu sınıfın oluşturduğu fabrikaları , HostNameComparisonModeve MaxBufferSizegibi AuthenticationSchemeözelliklerini ayarlayarak yapılandırabilirsiniz.
Temel sınıfta TransportBindingElement, , ve MaxBufferPoolSizegibi ManualAddressingMaxReceivedMessageSizeözellikleri de ayarlayabilirsiniz. Özelliklerin tam listesi için bkz TransportBindingElement. .
Oluşturucular
HttpTransportBindingElement() |
HttpTransportBindingElement sınıfının yeni bir örneğini başlatır. |
HttpTransportBindingElement(HttpTransportBindingElement) |
Başka bir bağlama öğesi kullanarak sınıfın HttpTransportBindingElement yeni bir örneğini başlatır. |
Özellikler
AllowCookies |
İstemcinin tanımlama bilgilerini kabul edip etmediğini ve bunları gelecekteki isteklere yayıp yaymadığını belirten bir değer alır veya ayarlar. |
AuthenticationScheme |
HTTP dinleyicisi tarafından işlenen istemci isteklerinin kimliğini doğrulamak için kullanılan kimlik doğrulama düzenini alır veya ayarlar. |
BypassProxyOnLocal |
Proxy'lerin yerel adresler için yoksayılıp yoksayılmadığını belirten bir değer alır veya ayarlar. |
DecompressionEnabled |
Sıkıştırılmış ileti verilerini özgün boyutuna ve biçimine döndürme işleminin etkinleştirilip etkinleştirilmediğini alır veya ayarlar. |
ExtendedProtectionPolicy |
Gelen istemci bağlantılarını doğrulamak için sunucu tarafından kullanılan genişletilmiş güvenlik ilkesinin değerini alır veya ayarlar. |
HostNameComparisonMode |
Ana bilgisayar adının URI ile eşleştirilirken hizmete ulaşmak için kullanılıp kullanılmadığını belirten bir değer alır veya ayarlar. |
KeepAliveEnabled |
Hizmet uç noktasına kalıcı bağlantı yapılıp yapılmayacağını belirten bir değer alır veya ayarlar. |
ManualAddressing |
İletinin el ile adreslenmesi gerekip gerekmediğini belirten bir değer alır veya ayarlar. (Devralındığı yer: TransportBindingElement) |
MaxBufferPoolSize |
Aktarım tarafından kullanılan arabellek havuzlarının bayt cinsinden en büyük boyutunu alır veya ayarlar. (Devralındığı yer: TransportBindingElement) |
MaxBufferSize |
Kullanılacak arabellek boyutu üst sınırını alır veya ayarlar. Arabelleğe alınan iletiler için bu değer ile MaxReceivedMessageSizeaynıdır. Akışa alınan iletiler için bu değer, arabelleğe alınan modda okunması gereken SOAP üst bilgilerinin en büyük boyutudur. |
MaxPendingAccepts |
Hizmetin aynı anda kabul edebileceği en fazla bağlantı sayısını alır veya ayarlar. |
MaxReceivedMessageSize |
Alınabilecek izin verilen ileti boyutu üst sınırını bayt cinsinden alır veya ayarlar. (Devralındığı yer: TransportBindingElement) |
MessageHandlerFactory |
Http aktarım iletisi işleyici fabrikasını alır veya ayarlar. |
Proxy |
İletileri iletmek için bir HTTP aktarımı belirtmek için kullanılan bağlama öğesini temsil eder. |
ProxyAddress |
HTTP istekleri için kullanılacak ara sunucu adresini içeren bir URI alır veya ayarlar. |
ProxyAuthenticationScheme |
BIR HTTP ara sunucusu tarafından işlenen istemci isteklerinin kimliğini doğrulamak için kullanılan kimlik doğrulama düzenini alır veya ayarlar. |
Realm |
Kimlik doğrulama bölgesi alır veya ayarlar. |
RequestInitializationTimeout |
İstenen başlatma zaman aşımını alır veya ayarlar. |
Scheme |
Aktarım için URI düzenini alır. |
TransferMode |
Aktarım modunu alır veya ayarlar. |
UnsafeConnectionNtlmAuthentication |
Sunucuda Güvenli Olmayan Bağlantı Paylaşımı'nın etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar. Etkinleştirilirse, NTLM kimlik doğrulaması her TCP bağlantısında bir kez gerçekleştirilir. |
UseDefaultWebProxy |
Kullanıcıya özgü ayarlar yerine makine genelindeki ara sunucu ayarlarının kullanılıp kullanılmadığını belirten bir değer alır veya ayarlar. |
WebSocketSettings |
Bağlama öğesinin web yuvası yapılandırmasını alır veya ayarlar. |
Yöntemler
BuildChannelFactory<TChannel>(BindingContext) |
Kanal oluşturmak için kullanılabilecek bir kanal fabrikası oluşturur. |
BuildChannelListener<TChannel>(BindingContext) |
Belirtilen türde bir kanal dinleyicisi oluşturur. |
BuildChannelListener<TChannel>(BindingContext) |
Bağlama bağlamından belirtilen türde kanalları kabul etmek için bir kanal dinleyicisi başlatır. (Devralındığı yer: BindingElement) |
CanBuildChannelFactory<TChannel>(BindingContext) |
Belirtilen türdeki bir kanal fabrikasının oluşturulup oluşturulamayacağını belirler. |
CanBuildChannelListener<TChannel>(BindingContext) |
Belirtilen türdeki bir kanal dinleyicisinin oluşturulup oluşturulamayacağını belirler. |
CanBuildChannelListener<TChannel>(BindingContext) |
Bağlama öğesinin belirli bir kanal türü için dinleyici oluşturup oluşturamayacağını belirten bir değer döndürür. (Devralındığı yer: BindingElement) |
Clone() |
Geçerli bağlama öğesinin kopyası olan yeni bir örnek oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetProperty<T>(BindingContext) |
Belirtilen BindingContextiçinden bir özellik alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ShouldSerializeExtendedProtectionPolicy() |
Genişletilmiş koruma ilkesini XAML'nin seri hale getirmesinin mümkün olmadığını belirten bir değer döndürür. |
ShouldSerializeMessageHandlerFactory() |
İleti işleyici fabrikasının seri hale getirilip getirilmeyeceğini belirler. |
ShouldSerializeWebSocketSettings() |
Web yuvası ayarlarının seri hale getirilip getirilmeyeceğini belirler. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
UpdateAuthenticationSchemes(BindingContext) |
Bağlama bağlamını içeren aktarım kimlik doğrulaması düzenlerini Güncelleştirmeler. |
Belirtik Arabirim Kullanımları
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Bağlamalar hakkında özel bir ilke onaylama işlemi dışarı aktarır. |
IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Bir sözleşme için oluşturulan WSDL'ye özel Web Hizmetleri Açıklama Dili (WSDL) öğeleri yazar. |
IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Bir uç nokta için oluşturulan WSDL'ye özel Web Hizmetleri Açıklama Dili (WSDL) öğeleri yazar. |