Share via


HttpTransportBindingElement Třída

Definice

Představuje element vazby použitý k určení přenosu HTTP pro přenos zpráv.

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
Dědičnost
HttpTransportBindingElement
Odvozené
Implementuje

Příklady

Následující kód ukazuje, jak imperativním HttpTransportBindingElementzpůsobem použít .

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 lze použít také v konfiguračním souboru, jak je znázorněno v následující konfiguraci.

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

Poznámky

Třída HttpTransportBindingElement je výchozím bodem pro vytvoření vlastní vazby, která implementuje přenosový protokol HTTP. HTTP je primární přenos používaný pro účely interoperability. Tento přenos je podporován Windows Communication Foundation (WCF) k zajištění interoperability s jinými zásobníky webových služeb než WCF.

Model služby WCF používá tuto třídu k vytvoření objektů továrny, které implementují IChannelFactory rozhraní a IChannelListener . Tyto objekty továrny zase vytvářejí kanály a naslouchací procesy, které přenášejí zprávy SOAP pomocí protokolu HTTP.

Továrny, které tato třída vytvoří, nakonfigurujete nastavením jejích vlastností, jako AuthenticationSchemejsou , HostNameComparisonModea MaxBufferSize.

Můžete také nastavit vlastnosti základní třídy, TransportBindingElementjako ManualAddressingjsou , MaxReceivedMessageSizea MaxBufferPoolSize. Úplný seznam vlastností najdete v tématu TransportBindingElement.

Konstruktory

HttpTransportBindingElement()

Inicializuje novou instanci HttpTransportBindingElement třídy .

HttpTransportBindingElement(HttpTransportBindingElement)

Inicializuje novou instanci HttpTransportBindingElement třídy pomocí jiného elementu vazby.

Vlastnosti

AllowCookies

Získá nebo nastaví hodnotu, která označuje, zda klient přijímá soubory cookie a šíří je v budoucích požadavcích.

AuthenticationScheme

Získá nebo nastaví schéma ověřování používané k ověření požadavků klientů zpracovávaných naslouchacím procesem HTTP.

BypassProxyOnLocal

Získá nebo nastaví hodnotu, která označuje, zda jsou proxy ignorovány pro místní adresy.

DecompressionEnabled

Získá nebo nastaví, zda je povolen proces pro vrácení komprimovaných dat zprávy do původní velikosti a formátu.

ExtendedProtectionPolicy

Získá nebo nastaví hodnotu rozšířené zásady zabezpečení používané serverem k ověření příchozích klientských připojení.

HostNameComparisonMode

Získá nebo nastaví hodnotu, která označuje, zda se název hostitele používá k dosažení služby při porovnávání na identifikátor URI.

KeepAliveEnabled

Získá nebo nastaví hodnotu, která označuje, zda se má vytvořit trvalé připojení ke koncovému bodu služby.

ManualAddressing

Získá nebo nastaví hodnotu, která označuje, zda je požadováno ruční adresování zprávy.

(Zděděno od TransportBindingElement)
MaxBufferPoolSize

Získá nebo nastaví maximální velikost v bajtech všech fondů vyrovnávací paměti používaných přenosem.

(Zděděno od TransportBindingElement)
MaxBufferSize

Získá nebo nastaví maximální velikost vyrovnávací paměti, která se má použít. Pro zprávy ve vyrovnávací paměti je tato hodnota stejná jako MaxReceivedMessageSize. U streamovaných zpráv je tato hodnota maximální velikost hlaviček PROTOKOLU SOAP, která se musí číst v režimu vyrovnávací paměti.

MaxPendingAccepts

Získá nebo nastaví maximální počet připojení, které může služba současně přijmout.

MaxReceivedMessageSize

Získá nebo nastaví maximální povolenou velikost zprávy v bajtech, které lze přijímat.

(Zděděno od TransportBindingElement)
MessageHandlerFactory

Získá nebo nastaví objekt pro vytváření obslužné rutiny zpráv přenosu HTTP.

Proxy

Představuje element vazby použitý k určení přenosu HTTP pro přenos zpráv.

ProxyAddress

Získá nebo nastaví identifikátor URI, který obsahuje adresu proxy pro požadavky HTTP.

ProxyAuthenticationScheme

Získá nebo nastaví schéma ověřování používané k ověřování požadavků klientů zpracovávaných proxy serverem HTTP.

Realm

Získá nebo nastaví sféru ověřování.

RequestInitializationTimeout

Získá nebo nastaví časový limit požadované inicializace.

Scheme

Získá schéma identifikátoru URI pro přenos.

TransferMode

Získá nebo nastaví režim přenosu.

UnsafeConnectionNtlmAuthentication

Získá nebo nastaví hodnotu, která označuje, zda je na serveru povoleno nebezpečné sdílení připojení. Pokud je povoleno, ověřování protokolem NTLM se provádí u každého připojení TCP jednou.

UseDefaultWebProxy

Získá nebo nastaví hodnotu, která označuje, zda se používají nastavení proxy serveru pro celý počítač místo nastavení specifické pro uživatele.

WebSocketSettings

Získá nebo nastaví konfiguraci webového soketu elementu binding.

Metody

BuildChannelFactory<TChannel>(BindingContext)

Vytvoří objekt pro vytváření kanálů, který lze použít k vytvoření kanálu.

BuildChannelListener<TChannel>(BindingContext)

Vytvoří naslouchací proces kanálu zadaného typu.

BuildChannelListener<TChannel>(BindingContext)

Inicializuje naslouchací proces kanálu pro příjem kanálů zadaného typu z kontextu vazby.

(Zděděno od BindingElement)
CanBuildChannelFactory<TChannel>(BindingContext)

Určuje, zda lze sestavit objekt pro vytváření kanálů zadaného typu.

CanBuildChannelListener<TChannel>(BindingContext)

Určuje, zda lze sestavit naslouchací proces kanálu zadaného typu.

CanBuildChannelListener<TChannel>(BindingContext)

Vrátí hodnotu, která označuje, zda element vazby může sestavit naslouchací proces pro konkrétní typ kanálu.

(Zděděno od BindingElement)
Clone()

Vytvoří novou instanci, která je kopií aktuálního elementu vazby.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetProperty<T>(BindingContext)

Získá vlastnost ze zadaného BindingContextobjektu .

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ShouldSerializeExtendedProtectionPolicy()

Vrátí hodnotu, která označuje, že není možné serializovat zásady rozšířené ochrany xaml.

ShouldSerializeMessageHandlerFactory()

Určuje, zda objekt pro vytváření obslužných rutin zpráv má být serializován.

ShouldSerializeWebSocketSettings()

Určuje, zda nastavení webového soketu by mělo být serializováno.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
UpdateAuthenticationSchemes(BindingContext)

Aktualizace schémata ověřování přenosu, která obsahují kontext vazby.

Explicitní implementace rozhraní

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exportuje vlastní kontrolní výraz zásad o vazbách.

IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext)

Zapíše vlastní web services Description Language (WSDL) elementy do vygenerované WSDL pro kontrakt.

IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext)

Zapisuje vlastní prvky WSDL (Web Services Description Language) do vygenerovaného WSDL pro koncový bod.

Platí pro