HttpTransportBindingElement Klasse

Definition

Stellt das Bindungselement dar, mit dem eine HTTP-Übertragung zum Senden von Nachrichten angegeben wird.

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
Vererbung
HttpTransportBindingElement
Abgeleitet
Implementiert

Beispiele

Im folgenden Code wird die zwingende Verwendung von HttpTransportBindingElement veranschaulicht.

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 kann auch in einer Konfigurationsdatei verwendet werden, wie in der folgenden Konfiguration gezeigt.

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

Hinweise

Die HttpTransportBindingElement-Klasse stellt den Startpunkt für das Erstellen einer benutzerdefinierten Bindung dar, die das HTTP-Transportprotokoll implementiert. HTTP stellt die primäre Übertragungsweise für den Datenaustausch dar. Dieser Transport wird von Windows Communication Foundation (WCF) unterstützt, um die Interoperabilität mit anderen Nicht-WCF-Webdienststapeln sicherzustellen.

Das WCF-Dienstmodell verwendet diese Klasse, um Factoryobjekte zu erstellen, die die IChannelFactory Schnittstellen und IChannelListener implementieren. Diese Factoryobjekte erstellen wiederum die Kanäle und Listener, mit denen SOAP-Nachrichten über das HTTP-Protokoll übertragen werden.

Die von dieser Klasse erstellten Factorys können durch Festlegen der Eigenschaften konfiguriert werden, wie z. B. AuthenticationScheme, HostNameComparisonMode und MaxBufferSize.

Sie können auch Eigenschaften für die Basisklasse TransportBindingElement festlegen, wie z. B. ManualAddressing, MaxReceivedMessageSize und MaxBufferPoolSize. Eine vollständige Liste der Eigenschaften finden Sie unter TransportBindingElement.

Konstruktoren

HttpTransportBindingElement()

Initialisiert eine neue Instanz der HttpTransportBindingElement-Klasse.

HttpTransportBindingElement(HttpTransportBindingElement)

Initialisiert unter Verwendung eines anderen Bindungselements eine neue Instanz der HttpTransportBindingElement-Klasse.

Eigenschaften

AllowCookies

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Client Cookies akzeptiert und bei zukünftigen Anfragen weiterleitet.

AuthenticationScheme

Ruft das Authentifizierungsschema ab oder legt es fest, das verwendet wird, um Clientanforderungen zu authentifizieren, die von einem HTTP-Listener verarbeitet werden.

BypassProxyOnLocal

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Proxys für lokale Adressen ignoriert werden.

DecompressionEnabled

Ruft ab oder legt fest, ob der Prozess zum Zurückgeben von komprimierten Meldungsdaten in ihrer ursprünglichen Größe und ihrem ursprünglichen Format aktiviert ist.

ExtendedProtectionPolicy

Ruft den Wert der erweiterten Sicherheitsrichtlinie ab, der vom Server verwendet wird, um eingehende Clientverbindungen zu überprüfen, oder legt ihn fest.

HostNameComparisonMode

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob der Hostname zum Erreichen des Diensts bei übereinstimmendem URI verwendet werden soll.

KeepAliveEnabled

Ruft einen Wert ab, der angibt, ob eine permanente Verbindung mit einem Dienstendpunkt hergestellt werden soll, oder legt diesen fest.

ManualAddressing

Ruft einen Wert ab, der angibt, ob eine manuelle Adressierung der Nachricht erforderlich ist, oder legt diesen fest.

(Geerbt von TransportBindingElement)
MaxBufferPoolSize

Ruft die maximale Größe in Byte von Pufferpools ab, die vom Transport verwendet werden, oder legt diese fest.

(Geerbt von TransportBindingElement)
MaxBufferSize

Ruft die maximale Größe des zu verwendenden Puffers ab oder legt diese fest. Für gepufferte Nachrichten ist dieser Wert der Gleiche wie MaxReceivedMessageSize. Für per Streaming übertragene Nachrichten sollte dieser Wert mindestens die maximale Größe der SOAP-Header aufweisen, die im gepufferten Modus gelesen werden müssen.

MaxPendingAccepts

Ruft die maximale Anzahl an Verbindungen, die der Dienst gleichzeitig annehmen kann, ab oder legt sie fest.

MaxReceivedMessageSize

Ruft die maximal zulässige Meldungsgröße in Byte ab, die empfangen werden können, oder legt diese fest.

(Geerbt von TransportBindingElement)
MessageHandlerFactory

Ruft die HTTP-Transport Meldungshandler Factory ab oder legt diese fest.

Proxy

Stellt das Bindungselement dar, mit dem eine HTTP-Übertragung zum Senden von Nachrichten angegeben wird.

ProxyAddress

Ruft einen URI ab oder legt ihn fest, der die Adresse des Proxys enthält, der für HTTP-Anforderungen verwendet werden soll.

ProxyAuthenticationScheme

Ruft das Authentifizierungsschema ab oder legt es fest, das verwendet wird, um Clientanforderungen zu authentifizieren, die von einem HTTP-Proxy verarbeitet werden.

Realm

Ruft den Authentifizierungsbereich ab oder legt ihn fest.

RequestInitializationTimeout

Übernimmt oder bestimmt den angeforderten Timeoutwert.

Scheme

Ruft das URI-Schema für den Transport ab.

TransferMode

Ruft den Übertragungsmodus ab oder legt ihn fest.

UnsafeConnectionNtlmAuthentication

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Freigabe nicht sicherer Verbindungen auf dem Server aktiviert wird. Wenn aktiviert, wird NTLM-Authentifizierung einmal auf jeder TCP-Verbindung ausgeführt.

UseDefaultWebProxy

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Proxyeinstellungen auf dem Computer anstatt der benutzerspezifischen Einstellungen verwendet werden sollen.

WebSocketSettings

Ruft die Web-Socket-Konfiguration des Bindungselements ab oder legt diese fest.

Methoden

BuildChannelFactory<TChannel>(BindingContext)

Erstellt eine Kanalfactory, mit der ein Kanal erstellt werden kann.

BuildChannelListener<TChannel>(BindingContext)

Erstellt einen Kanallistener des angegebenen Typs.

BuildChannelListener<TChannel>(BindingContext)

Initialisiert einen Kanallistener, der Kanäle eines bestimmten Typs aus dem Bindungskontext annimmt.

(Geerbt von BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Bestimmt, ob eine Kanalfactory des angegebenen Typs erstellt werden kann.

CanBuildChannelListener<TChannel>(BindingContext)

Bestimmt, ob ein Kanallistener des angegebenen Typs erstellt werden kann.

CanBuildChannelListener<TChannel>(BindingContext)

Gibt einen Wert zurück, der angibt, ob das Bindungselement einen Listener für einen bestimmten Typ von Kanal erstellen kann.

(Geerbt von BindingElement)
Clone()

Erstellt eine neue Instanz, bei der es sich um eine Kopie des aktuellen Bindungselements handelt.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetProperty<T>(BindingContext)

Ruft eine Eigenschaft aus dem angegebenen BindingContext ab.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ShouldSerializeExtendedProtectionPolicy()

Gibt einen Wert zurück, der angibt, dass es nicht möglich ist, die erweiterte Schutzrichtlinie in XAML zu serialisieren.

ShouldSerializeMessageHandlerFactory()

Bestimmt, ob die Meldungshandler-Factory serialisiert werden soll.

ShouldSerializeWebSocketSettings()

Bestimmt, ob die Internet-Socket-Einstellungen serialisiert werden sollen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UpdateAuthenticationSchemes(BindingContext)

Aktualisiert die Übertragungsauthentifizierungsschemas, die den Bindungskontext enthalten.

Explizite Schnittstellenimplementierungen

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exportiert eine benutzerdefinierte Richtlinienassertion über Bindungen.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Schreibt benutzerdefinierte WSDL (Web Services Description Language)-Elemente in für einen Vertrag generierte WSDL.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Schreibt benutzerdefinierte WSDL (Web Services Description Language)-Elemente in die generierte WSDL für einen Endpunkt.

Gilt für: