HttpTransportBindingElement Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt het bindingselement dat wordt gebruikt om een HTTP-transport op te geven voor het verzenden van berichten.
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
- Overname
- Afgeleid
- Implementeringen
Voorbeelden
De volgende code laat zien hoe u de 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 kan ook worden gebruikt in een configuratiebestand, zoals wordt weergegeven in de volgende configuratie.
<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>
Opmerkingen
De HttpTransportBindingElement klasse is het startpunt voor het maken van een aangepaste binding waarmee het HTTP-transportprotocol wordt geïmplementeerd. HTTP is het primaire transport dat wordt gebruikt voor interoperabiliteitsdoeleinden. Dit transport wordt ondersteund door Windows Communication Foundation (WCF) om interoperabiliteit met andere niet-WCF-webservicesstacks te garanderen.
Het WCF-servicemodel gebruikt deze klasse om fabrieksobjecten te maken die de IChannelFactory en IChannelListener interfaces implementeren. Deze factoryobjecten maken op hun beurt de kanalen en listeners die SOAP-berichten verzenden met behulp van het HTTP-protocol.
U configureert de factory's die door deze klasse worden gemaakt door de eigenschappen in te stellen, zoals AuthenticationScheme, HostNameComparisonModeen MaxBufferSize.
U kunt ook eigenschappen instellen op de basisklasse, TransportBindingElementzoals ManualAddressing, MaxReceivedMessageSizeen MaxBufferPoolSize. Zie voor een volledige lijst met eigenschappen TransportBindingElement.
Constructors
| Name | Description |
|---|---|
| HttpTransportBindingElement() |
Initialiseert een nieuw exemplaar van de HttpTransportBindingElement klasse. |
| HttpTransportBindingElement(HttpTransportBindingElement) |
Initialiseert een nieuw exemplaar van de HttpTransportBindingElement klasse met behulp van een ander bindingselement. |
Eigenschappen
| Name | Description |
|---|---|
| AllowCookies |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de client cookies accepteert en deze op toekomstige aanvragen doorgeeft. |
| AuthenticationScheme |
Hiermee haalt u het verificatieschema op dat wordt gebruikt voor het verifiëren van clientaanvragen die worden verwerkt door een HTTP-listener. |
| BypassProxyOnLocal |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of proxy's worden genegeerd voor lokale adressen. |
| DecompressionEnabled |
Hiermee wordt opgehaald of ingesteld of het proces voor het retourneren van gecomprimeerde berichtgegevens naar de oorspronkelijke grootte en indeling is ingeschakeld. |
| ExtendedProtectionPolicy |
Hiermee wordt de waarde opgehaald of ingesteld van het uitgebreide beveiligingsbeleid dat door de server wordt gebruikt om binnenkomende clientverbindingen te valideren. |
| HostNameComparisonMode |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de hostnaam wordt gebruikt om de service te bereiken wanneer deze overeenkomt met de URI. |
| KeepAliveEnabled |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een permanente verbinding met een service-eindpunt moet worden gemaakt. |
| ManualAddressing |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of handmatige adressering van het bericht vereist is. (Overgenomen van TransportBindingElement) |
| MaxBufferPoolSize |
Hiermee wordt de maximale grootte, in bytes, van alle buffergroepen die door het transport worden gebruikt, in bytes opgeslagen of ingesteld. (Overgenomen van TransportBindingElement) |
| MaxBufferSize |
Hiermee haalt u de maximale grootte van de buffer op of stelt u deze in. Voor gebufferde berichten is deze waarde hetzelfde als MaxReceivedMessageSize. Voor gestreamde berichten is deze waarde de maximale grootte van de SOAP-headers, die moeten worden gelezen in de buffermodus. |
| MaxPendingAccepts |
Hiermee haalt of stelt u het maximum aantal verbindingen in dat de service tegelijkertijd kan accepteren. |
| MaxReceivedMessageSize |
Hiermee haalt u de maximaal toegestane berichtgrootte op, in bytes, die kan worden ontvangen. (Overgenomen van TransportBindingElement) |
| MessageHandlerFactory |
Hiermee haalt u de http-transportberichthandlerfactory op of stelt u deze in. |
| ProxyAddress |
Hiermee haalt u een URI op die het adres van de proxy bevat dat moet worden gebruikt voor HTTP-aanvragen. |
| ProxyAuthenticationScheme |
Hiermee haalt u het verificatieschema op dat wordt gebruikt voor het verifiëren van clientaanvragen die worden verwerkt door een HTTP-proxy. |
| Realm |
Hiermee haalt u de verificatierealm op of stelt u deze in. |
| RequestInitializationTimeout |
Hiermee haalt u de aangevraagde time-out voor initialisatie op of stelt u deze in. |
| Scheme |
Hiermee haalt u het URI-schema voor het transport op. |
| TransferMode |
Hiermee haalt u de overdrachtsmodus op of stelt u deze in. |
| UnsafeConnectionNtlmAuthentication |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of onveilig delen van verbindingen is ingeschakeld op de server. Indien ingeschakeld, wordt NTLM-verificatie eenmaal uitgevoerd op elke TCP-verbinding. |
| UseDefaultWebProxy |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de proxy-instellingen voor de hele machine worden gebruikt in plaats van de specifieke gebruikersinstellingen. |
| WebSocketSettings |
Hiermee haalt u de websocketconfiguratie van het bindingselement op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
Hiermee maakt u een kanaalfactory die kan worden gebruikt om een kanaal te maken. |
| BuildChannelListener<TChannel>(BindingContext) |
Hiermee maakt u een kanaallistener van het opgegeven type. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
Bepaalt of een kanaalfactory van het opgegeven type kan worden gebouwd. |
| CanBuildChannelListener<TChannel>(BindingContext) |
Bepaalt of een kanaallistener van het opgegeven type kan worden gebouwd. |
| Clone() |
Hiermee maakt u een nieuw exemplaar dat een kopie is van het huidige bindingselement. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetProperty<T>(BindingContext) |
Hiermee haalt u een eigenschap op van de opgegeven BindingContext. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ShouldSerializeExtendedProtectionPolicy() |
Retourneert een waarde-indicatie dat het niet mogelijk is om XAML het uitgebreide beveiligingsbeleid te serialiseren. |
| ShouldSerializeMessageHandlerFactory() |
Bepaalt of de factory van de berichtenhandler moet worden geserialiseerd. |
| ShouldSerializeWebSocketSettings() |
Bepaalt of de websocketinstellingen moeten worden geserialiseerd. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| UpdateAuthenticationSchemes(BindingContext) |
Hiermee worden de transportverificatieschema's bijgewerkt die de bindingscontext bevatten. |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Hiermee exporteert u een aangepaste beleidsverklaring over bindingen. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Schrijft aangepaste WSDL-elementen (Web Services Description Language) naar de gegenereerde WSDL voor een contract. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Schrijft aangepaste WSDL-elementen (Web Services Description Language) naar de gegenereerde WSDL voor een eindpunt. |