Udostępnij za pośrednictwem


HttpTransportBindingElement Klasa

Definicja

Reprezentuje element powiązania używany do określania transportu HTTP do przesyłania komunikatów.

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
Dziedziczenie
HttpTransportBindingElement
Pochodne
Implementuje

Przykłady

Poniższy kod pokazuje, jak imperatywnie używać polecenia 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 można również użyć w pliku konfiguracji, jak pokazano w poniższej konfiguracji.

<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>  

Uwagi

Klasa HttpTransportBindingElement jest punktem wyjścia do utworzenia powiązania niestandardowego, które implementuje protokół transportu HTTP. HTTP to podstawowy transport używany do celów współdziałania. Ten transport jest obsługiwany przez program Windows Communication Foundation (WCF) w celu zapewnienia współdziałania z innymi stosami usług sieci Web innych niż WCF.

Model usługi WCF używa tej klasy do tworzenia obiektów fabrycznych, które implementują IChannelFactory interfejsy i IChannelListener . Te obiekty fabryki, z kolei, tworzą kanały i odbiorniki, które przesyłają komunikaty SOAP przy użyciu protokołu HTTP.

Konfigurujesz fabryki tworzone przez tę klasę, ustawiając jej właściwości, takie jak AuthenticationScheme, HostNameComparisonModei MaxBufferSize.

Można również ustawić właściwości w klasie bazowej, TransportBindingElementtakich jak ManualAddressing, MaxReceivedMessageSizei MaxBufferPoolSize. Aby uzyskać pełną listę właściwości, zobacz TransportBindingElement.

Konstruktory

HttpTransportBindingElement()

Inicjuje nowe wystąpienie klasy HttpTransportBindingElement.

HttpTransportBindingElement(HttpTransportBindingElement)

Inicjuje HttpTransportBindingElement nowe wystąpienie klasy przy użyciu innego elementu powiązania.

Właściwości

AllowCookies

Pobiera lub ustawia wartość wskazującą, czy klient akceptuje pliki cookie i propaguje je na przyszłych żądaniach.

AuthenticationScheme

Pobiera lub ustawia schemat uwierzytelniania używany do uwierzytelniania żądań klientów przetwarzanych przez odbiornik HTTP.

BypassProxyOnLocal

Pobiera lub ustawia wartość wskazującą, czy serwery proxy są ignorowane dla adresów lokalnych.

DecompressionEnabled

Pobiera lub określa, czy proces zwracania skompresowanych danych wiadomości do oryginalnego rozmiaru i formatu jest włączony.

ExtendedProtectionPolicy

Pobiera lub ustawia wartość rozszerzonych zasad zabezpieczeń używanych przez serwer do sprawdzania poprawności przychodzących połączeń klienckich.

HostNameComparisonMode

Pobiera lub ustawia wartość wskazującą, czy nazwa hosta jest używana do osiągnięcia usługi podczas dopasowywania identyfikatora URI.

KeepAliveEnabled

Pobiera lub ustawia wartość wskazującą, czy nawiązać trwałe połączenie z punktem końcowym usługi.

ManualAddressing

Pobiera lub ustawia wartość wskazującą, czy wymagane jest ręczne adresowanie komunikatu.

(Odziedziczone po TransportBindingElement)
MaxBufferPoolSize

Pobiera lub ustawia maksymalny rozmiar w bajtach dowolnego buforu używanego przez transport.

(Odziedziczone po TransportBindingElement)
MaxBufferSize

Pobiera lub ustawia maksymalny rozmiar buforu do użycia. W przypadku buforowanych komunikatów ta wartość jest taka sama jak MaxReceivedMessageSize. W przypadku komunikatów przesyłanych strumieniowo ta wartość jest maksymalnym rozmiarem nagłówków PROTOKOŁU SOAP, który musi być odczytywany w trybie buforowym.

MaxPendingAccepts

Pobiera lub ustawia maksymalną liczbę połączeń, które usługa może zaakceptować jednocześnie.

MaxReceivedMessageSize

Pobiera lub ustawia maksymalny dozwolony rozmiar komunikatu w bajtach, który można odebrać.

(Odziedziczone po TransportBindingElement)
MessageHandlerFactory

Pobiera lub ustawia fabrykę obsługi komunikatów transportu http.

Proxy

Reprezentuje element powiązania używany do określania transportu HTTP do przesyłania komunikatów.

ProxyAddress

Pobiera lub ustawia identyfikator URI zawierający adres serwera proxy do użycia dla żądań HTTP.

ProxyAuthenticationScheme

Pobiera lub ustawia schemat uwierzytelniania używany do uwierzytelniania żądań klientów przetwarzanych przez serwer proxy HTTP.

Realm

Pobiera lub ustawia obszar uwierzytelniania.

RequestInitializationTimeout

Pobiera lub ustawia żądany limit czasu inicjowania.

Scheme

Pobiera schemat identyfikatora URI dla transportu.

TransferMode

Pobiera lub ustawia tryb transferu.

UnsafeConnectionNtlmAuthentication

Pobiera lub ustawia wartość wskazującą, czy na serwerze włączono niebezpieczne udostępnianie połączeń. W przypadku włączenia uwierzytelniania NTLM jest wykonywane raz na każdym połączeniu TCP.

UseDefaultWebProxy

Pobiera lub ustawia wartość wskazującą, czy ustawienia serwera proxy dla całego komputera są używane, a nie ustawienia specyficzne dla użytkownika.

WebSocketSettings

Pobiera lub ustawia konfigurację gniazda internetowego elementu powiązania.

Metody

BuildChannelFactory<TChannel>(BindingContext)

Tworzy fabrykę kanałów, która może służyć do tworzenia kanału.

BuildChannelListener<TChannel>(BindingContext)

Tworzy odbiornik kanału określonego typu.

BuildChannelListener<TChannel>(BindingContext)

Inicjuje odbiornik kanału, aby akceptował kanały określonego typu z kontekstu powiązania.

(Odziedziczone po BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Określa, czy można skompilować fabrykę kanałów określonego typu.

CanBuildChannelListener<TChannel>(BindingContext)

Określa, czy można skompilować odbiornik kanału określonego typu.

CanBuildChannelListener<TChannel>(BindingContext)

Zwraca wartość wskazującą, czy element powiązania może skompilować odbiornik dla określonego typu kanału.

(Odziedziczone po BindingElement)
Clone()

Tworzy nowe wystąpienie, które jest kopią bieżącego elementu powiązania.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperty<T>(BindingContext)

Pobiera właściwość z określonego BindingContextobiektu .

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ShouldSerializeExtendedProtectionPolicy()

Zwraca wartość określającą, że nie jest możliwe serializowanie zasad ochrony rozszerzonej przez kod XAML.

ShouldSerializeMessageHandlerFactory()

Określa, czy fabryka obsługi komunikatów powinna być serializowana.

ShouldSerializeWebSocketSettings()

Określa, czy ustawienia gniazda internetowego powinny być serializowane.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UpdateAuthenticationSchemes(BindingContext)

Aktualizacje schematy uwierzytelniania transportu, które zawierają kontekst powiązania.

Jawne implementacje interfejsu

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Eksportuje niestandardowe potwierdzenie zasad dotyczące powiązań.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Zapisuje niestandardowe elementy języka opisu usług sieci Web (WSDL) do wygenerowanego WSDL dla kontraktu.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Zapisuje niestandardowe elementy języka opisu usług sieci Web (WSDL) do wygenerowanego WSDL dla punktu końcowego.

Dotyczy