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ć .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 fabryki, które implementują IChannelFactory interfejsy i IChannelListener . Te obiekty fabryki z kolei tworzą kanały i odbiorniki, które przesyłają komunikaty PROTOKOŁU SOAP przy użyciu protokołu HTTP.

Należy skonfigurować 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 ustawia, 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ń klientów.

HostNameComparisonMode

Pobiera lub ustawia wartość wskazującą, czy nazwa hosta jest używana do uzyskiwania dostępu do 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 wszystkich pul buforów używanych przez transport.

(Odziedziczone po TransportBindingElement)
MaxBufferSize

Pobiera lub ustawia maksymalny rozmiar buforu do użycia. W przypadku komunikatów buforowanych 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 buforowania.

MaxPendingAccepts

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

MaxReceivedMessageSize

Pobiera lub ustawia maksymalny dozwolony rozmiar komunikatu w bajtach, które mogą być odbierane.

(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 jest włączone udostępnianie niebezpiecznego połączenia. Jeśli to ustawienie jest włączone, uwierzytelnianie NTLM jest wykonywane raz na każdym połączeniu TCP.

UseDefaultWebProxy

Pobiera lub ustawia wartość wskazującą, czy ustawienia serwera proxy dla całej maszyny 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órej można użyć do utworzenia 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 BindingContextelementu .

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(Odziedziczone po Object)
ShouldSerializeExtendedProtectionPolicy()

Zwraca wartość wskazującą, że nie można serializować zasad ochrony rozszerzonej przez kod XAML.

ShouldSerializeMessageHandlerFactory()

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

ShouldSerializeWebSocketSettings()

Określa, czy ustawienia gniazd sieci Web powinny być serializowane.

ToString()

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

(Odziedziczone po Object)
UpdateAuthenticationSchemes(BindingContext)

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

Jawne implementacje interfejsu

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

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

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Zapisuje niestandardowe elementy języka opisu usług sieci Web (WSDL) w wygenerowanym języku WSDL dla kontraktu.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

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

Dotyczy