HttpTransportBindingElement Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt das Bindungselement dar, das zum Angeben eines HTTP-Transports für die Übertragung von Nachrichten verwendet 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
- Abgeleitet
- Implementiert
Beispiele
Der folgende Code zeigt, wie Sie die 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 kann auch in einer Konfigurationsdatei verwendet werden, wie in der folgenden Konfiguration dargestellt.
<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 ist der Ausgangspunkt zum Erstellen einer benutzerdefinierten Bindung, die das HTTP-Transportprotokoll implementiert. HTTP ist der primäre Transport, der für Interoperabilitätszwecke verwendet wird. 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 Und IChannelListener Schnittstellen implementieren. Diese Factoryobjekte erstellen wiederum die Kanäle und Listener, die SOAP-Nachrichten mithilfe des HTTP-Protokolls übertragen.
Sie konfigurieren die Fabriken, die diese Klasse erstellt, indem Sie ihre Eigenschaften festlegen, z AuthenticationScheme. B. , HostNameComparisonModeund MaxBufferSize.
Sie können auch Eigenschaften für die Basisklasse festlegen, TransportBindingElementzManualAddressing. B. , und MaxBufferPoolSizeMaxReceivedMessageSize. Eine vollständige Liste der Eigenschaften finden Sie unter TransportBindingElement.
Konstruktoren
| Name | Beschreibung |
|---|---|
| HttpTransportBindingElement() |
Initialisiert eine neue Instanz der HttpTransportBindingElement-Klasse. |
| HttpTransportBindingElement(HttpTransportBindingElement) |
Initialisiert eine neue Instanz der HttpTransportBindingElement Klasse mithilfe eines anderen Bindungselements. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllowCookies |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Client Cookies akzeptiert und an zukünftige Anforderungen weitergibt. |
| AuthenticationScheme |
Ruft das Authentifizierungsschema ab, das zum Authentifizieren von Clientanforderungen verwendet wird, die von einem HTTP-Listener verarbeitet werden, oder legt dieses fest. |
| BypassProxyOnLocal |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Proxys für lokale Adressen ignoriert werden. |
| DecompressionEnabled |
Ruft ab oder legt fest, ob der Prozess zum Zurückgeben von komprimierten Nachrichtendaten in die ursprüngliche Größe und das Format aktiviert ist. |
| ExtendedProtectionPolicy |
Dient zum Abrufen oder Festlegen des Werts der erweiterten Sicherheitsrichtlinie, die vom Server zum Überprüfen eingehender Clientverbindungen verwendet wird. |
| HostNameComparisonMode |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Hostname verwendet wird, um den Dienst zu erreichen, wenn er für den URI abgleicht. |
| KeepAliveEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine dauerhafte Verbindung mit einem Dienstendpunkt hergestellt werden soll. |
| ManualAddressing |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine manuelle Adressierung der Nachricht erforderlich ist. (Geerbt von TransportBindingElement) |
| MaxBufferPoolSize |
Ruft die maximale Größe in Byte aller 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. Bei gepufferten Nachrichten ist dieser Wert identisch mit MaxReceivedMessageSize. Bei gestreamten Nachrichten ist dieser Wert die maximale Größe der SOAP-Header, die im Puffermodus gelesen werden müssen. |
| MaxPendingAccepts |
Ruft die maximale Anzahl von Verbindungen ab, die der Dienst gleichzeitig akzeptieren kann, oder legt diese fest. |
| MaxReceivedMessageSize |
Ruft die maximal zulässige Nachrichtengröße in Bytes ab, die empfangen werden kann, oder legt diese fest. (Geerbt von TransportBindingElement) |
| MessageHandlerFactory |
Ruft die Http-Transportnachrichtenhandlerfactory ab oder legt sie fest. |
| Proxy |
Stellt das Bindungselement dar, das zum Angeben eines HTTP-Transports für die Übertragung von Nachrichten verwendet wird. |
| ProxyAddress |
Dient zum Abrufen oder Festlegen eines URI, der die Adresse des Proxys enthält, der für HTTP-Anforderungen verwendet werden soll. |
| ProxyAuthenticationScheme |
Ruft das Authentifizierungsschema ab, das zum Authentifizieren von Clientanforderungen verwendet wird, die von einem HTTP-Proxy verarbeitet werden, oder legt dieses fest. |
| Realm |
Ruft den Authentifizierungsbereich ab oder legt den Authentifizierungsbereich fest. |
| RequestInitializationTimeout |
Dient zum Abrufen oder Festlegen des angeforderten Initialisierungszeitlimits. |
| Scheme |
Ruft das URI-Schema für den Transport ab. |
| TransferMode |
Ruft den Übertragungsmodus ab oder legt diesen fest. |
| UnsafeConnectionNtlmAuthentication |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die unsichere Verbindungsfreigabe auf dem Server aktiviert ist. Wenn diese Option aktiviert ist, wird die NTLM-Authentifizierung einmal für jede TCP-Verbindung ausgeführt. |
| UseDefaultWebProxy |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die computerweiten Proxyeinstellungen anstelle der benutzerspezifischen Einstellungen verwendet werden. |
| WebSocketSettings |
Ruft die Websocketkonfiguration des Bindungselements ab oder legt sie fest. |
Methoden
| Name | Beschreibung |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Erstellt eine Kanalfactory, die zum Erstellen eines Kanals verwendet werden kann. |
| BuildChannelListener<TChannel>(BindingContext) |
Erstellt einen Kanallistener des angegebenen Typs. |
| 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. |
| Clone() |
Erstellt eine neue Instanz, die eine Kopie des aktuellen Bindungselements ist. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetProperty<T>(BindingContext) |
Ruft eine Eigenschaft aus dem angegebenen BindingContextab. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ShouldSerializeExtendedProtectionPolicy() |
Gibt einen Wertindicating zurück, dass xaml die erweiterte Schutzrichtlinie nicht serialisieren kann. |
| ShouldSerializeMessageHandlerFactory() |
Bestimmt, ob die Nachrichtenhandlerfactory serialisiert werden soll. |
| ShouldSerializeWebSocketSettings() |
Bestimmt, ob die Websocketeinstellungen serialisiert werden sollen. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| UpdateAuthenticationSchemes(BindingContext) |
Aktualisiert die Transportauthentifizierungsschemas, die den Bindungskontext enthalten. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exportiert eine benutzerdefinierte Richtlinien assertion zu Bindungen. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Schreibt benutzerdefinierte Web Services Description Language (WSDL)-Elemente in die generierte WSDL für einen Vertrag. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Schreibt benutzerdefinierte Web Services Description Language (WSDL)-Elemente in die generierte WSDL für einen Endpunkt. |