HttpTransportBindingElement Klass

Definition

Representerar bindningselementet som används för att ange en HTTP-transport för överföring av meddelanden.

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
Arv
HttpTransportBindingElement
Härledda
Implementeringar

Exempel

Följande kod visar hur du imperativt använder 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 också användas i en konfigurationsfil enligt följande konfiguration.

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

Kommentarer

Klassen HttpTransportBindingElement är startpunkten för att skapa en anpassad bindning som implementerar HTTP-transportprotokollet. HTTP är den primära transporten som används i samverkanssyfte. Den här transporten stöds av Windows Communication Foundation (WCF) för att säkerställa samverkan med andra icke-WCF-webbtjänststackar.

WCF-tjänstmodellen använder den här klassen för att skapa fabriksobjekt som implementerar gränssnitten IChannelFactory och IChannelListener . Dessa fabriksobjekt skapar i sin tur kanaler och lyssnare som överför SOAP-meddelanden med hjälp av HTTP-protokollet.

Du konfigurerar de fabriker som den här klassen skapar genom att ange dess egenskaper, till exempel AuthenticationScheme, HostNameComparisonModeoch MaxBufferSize.

Du kan också ange egenskaper för basklassen, TransportBindingElementtill exempel ManualAddressing, MaxReceivedMessageSizeoch MaxBufferPoolSize. En fullständig lista över egenskaper finns i TransportBindingElement.

Konstruktorer

Name Description
HttpTransportBindingElement()

Initierar en ny instans av HttpTransportBindingElement klassen.

HttpTransportBindingElement(HttpTransportBindingElement)

Initierar en ny instans av HttpTransportBindingElement klassen med ett annat bindningselement.

Egenskaper

Name Description
AllowCookies

Hämtar eller anger ett värde som anger om klienten accepterar cookies och sprider dem på framtida begäranden.

AuthenticationScheme

Hämtar eller anger det autentiseringsschema som används för att autentisera klientbegäranden som bearbetas av en HTTP-lyssnare.

BypassProxyOnLocal

Hämtar eller anger ett värde som anger om proxyservrar ignoreras för lokala adresser.

DecompressionEnabled

Hämtar eller anger om processen för att returnera komprimerade meddelandedata till dess ursprungliga storlek och format är aktiverad.

ExtendedProtectionPolicy

Hämtar eller anger värdet för den utökade säkerhetsprincip som används av servern för att verifiera inkommande klientanslutningar.

HostNameComparisonMode

Hämtar eller anger ett värde som anger om värdnamnet används för att nå tjänsten vid matchning på URI:n.

KeepAliveEnabled

Hämtar eller anger ett värde som anger om en beständig anslutning ska upprättas till en tjänstslutpunkt.

ManualAddressing

Hämtar eller anger ett värde som anger om manuell adressering av meddelandet krävs.

(Ärvd från TransportBindingElement)
MaxBufferPoolSize

Hämtar eller anger maximal storlek, i byte, för alla buffertpooler som används av transporten.

(Ärvd från TransportBindingElement)
MaxBufferSize

Hämtar eller anger den maximala storleken på bufferten som ska användas. För buffrade meddelanden är det här värdet detsamma som MaxReceivedMessageSize. För strömmade meddelanden är det här värdet den maximala storleken på SOAP-huvudena, som måste läsas i buffrat läge.

MaxPendingAccepts

Hämtar eller anger det maximala antalet anslutningar som tjänsten kan acceptera samtidigt.

MaxReceivedMessageSize

Hämtar eller anger den maximala tillåtna meddelandestorleken i byte som kan tas emot.

(Ärvd från TransportBindingElement)
MessageHandlerFactory

Hämtar eller anger http-transportmeddelandehanterarens fabrik.

ProxyAddress

Hämtar eller anger en URI som innehåller adressen till proxyn som ska användas för HTTP-begäranden.

ProxyAuthenticationScheme

Hämtar eller anger det autentiseringsschema som används för att autentisera klientbegäranden som bearbetas av en HTTP-proxy.

Realm

Hämtar eller anger autentiseringssfären.

RequestInitializationTimeout

Hämtar eller anger tidsgränsen för den begärda initieringen.

Scheme

Hämtar URI-schemat för transporten.

TransferMode

Hämtar eller ställer in överföringsläget.

UnsafeConnectionNtlmAuthentication

Hämtar eller anger ett värde som anger om osäker anslutningsdelning är aktiverat på servern. Om det är aktiverat utförs NTLM-autentisering en gång på varje TCP-anslutning.

UseDefaultWebProxy

Hämtar eller anger ett värde som anger om de datoromfattande proxyinställningarna används i stället för de användarspecifika inställningarna.

WebSocketSettings

Hämtar eller anger web socket-konfigurationen för bindningselementet.

Metoder

Name Description
BuildChannelFactory<TChannel>(BindingContext)

Skapar en kanalfabrik som kan användas för att skapa en kanal.

BuildChannelListener<TChannel>(BindingContext)

Skapar en kanallyssnare av den angivna typen.

CanBuildChannelFactory<TChannel>(BindingContext)

Avgör om en kanalfabrik av den angivna typen kan skapas.

CanBuildChannelListener<TChannel>(BindingContext)

Avgör om en kanallyssnare av den angivna typen kan skapas.

Clone()

Skapar en ny instans som är en kopia av det aktuella bindningselementet.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetProperty<T>(BindingContext)

Hämtar en egenskap från den angivna BindingContext.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ShouldSerializeExtendedProtectionPolicy()

Returnerar ett värde som anger att det inte går att serialisera den utökade skyddsprincipen i XAML.

ShouldSerializeMessageHandlerFactory()

Avgör om meddelandehanterarfabriken ska serialiseras.

ShouldSerializeWebSocketSettings()

Avgör om inställningarna för webbsocket ska serialiseras.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
UpdateAuthenticationSchemes(BindingContext)

Uppdaterar de transportautentiseringsscheman som innehåller bindningskontexten.

Explicita gränssnittsimplementeringar

Name Description
IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exporterar en anpassad principkontroll om bindningar.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Skriver anpassade WSDL-element (Web Services Description Language) till den genererade WSDL:n för ett kontrakt.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Skriver anpassade WSDL-element (Web Services Description Language) till den genererade WSDL:n för en slutpunkt.

Gäller för