HttpTransportBindingElement Klas

Definitie

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

Van toepassing op