Aracılığıyla paylaş


HttpTransportBindingElement Sınıf

Tanım

İ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
HttpTransportBindingElement
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.

Şunlara uygulanır