HttpTransportBindingElement Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- Odvozené
- Implementuje
Příklady
Následující kód ukazuje, jak imperativní použití 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 lze také použít 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 službou Windows Communication Foundation (WCF), která zajišťuje interoperabilitu s jinými zásobníky webových služeb než WCF.
Model služby WCF používá tuto třídu k vytváření objektů továrny, které implementují IChannelFactory a IChannelListener rozhraní. Tyto objekty továrny zase vytvářejí kanály a naslouchací procesy, které přenášejí zprávy SOAP pomocí protokolu HTTP.
Konfigurujete továrny, které tato třída vytváří nastavením jeho vlastností, například AuthenticationScheme, HostNameComparisonModea MaxBufferSize.
Můžete také nastavit vlastnosti základní třídy, TransportBindingElementnapříklad ManualAddressing, MaxReceivedMessageSize, a MaxBufferPoolSize. Úplný seznam vlastností naleznete v tématu TransportBindingElement.
Konstruktory
| Name | Description |
|---|---|
| HttpTransportBindingElement() |
Inicializuje novou instanci HttpTransportBindingElement třídy. |
| HttpTransportBindingElement(HttpTransportBindingElement) |
Inicializuje novou instanci HttpTransportBindingElement třídy pomocí jiného elementu vazby. |
Vlastnosti
| Name | Description |
|---|---|
| AllowCookies |
Získá nebo nastaví hodnotu, která označuje, zda klient přijímá soubory cookie a šíří je do budoucích požadavků. |
| AuthenticationScheme |
Získá nebo nastaví schéma ověřování používané k ověřování požadavků klientů zpracovávaných naslouchacím procesem HTTP. |
| BypassProxyOnLocal |
Získá nebo nastaví hodnotu, která označuje, zda proxy servery jsou ignorovány pro místní adresy. |
| DecompressionEnabled |
Získá nebo nastaví, zda proces pro vrácení komprimovaných dat zprávy do původní velikosti a formátu je povolen. |
| 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á určuje, zda se název hostitele používá k dosažení služby při porovnávání identifikátoru 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á urč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. U zpráv v 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á musí být přečtena v režimu vyrovnávací paměti. |
| MaxPendingAccepts |
Získá nebo nastaví maximální počet připojení, která může služba přijmout současně. |
| 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 obslužnou rutinu transportní zprávy 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 použití 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 tato možnost povolená, provede se při každém připojení TCP jednou ověřování NTLM. |
| UseDefaultWebProxy |
Získá nebo nastaví hodnotu, která označuje, zda se nastavení proxy serveru na celém počítači používá místo nastavení specifické pro uživatele. |
| WebSocketSettings |
Získá nebo nastaví konfiguraci webového soketu element vazby. |
Metody
| Name | Description |
|---|---|
| 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. |
| 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. |
| Clone() |
Vytvoří novou instanci, která je kopií aktuálního prvku vazby. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetProperty<T>(BindingContext) |
Získá vlastnost ze zadaného BindingContext. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ShouldSerializeExtendedProtectionPolicy() |
Vrátí hodnotu, která není možné serializovat zásadu rozšířené ochrany XAML. |
| ShouldSerializeMessageHandlerFactory() |
Určuje, zda má být objekt pro zpracování zpráv serializován. |
| ShouldSerializeWebSocketSettings() |
Určuje, zda má být nastavení webového soketu serializováno. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
| UpdateAuthenticationSchemes(BindingContext) |
Aktualizuje schémata ověřování přenosu, která obsahují kontext vazby. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext) |
Exportuje vlastní kontrolní výraz zásad o vazbách. |
| IWsdlExportExtension.ExportContract(WsdlExporter, WsdlContractConversionContext) |
Zapíše vlastní elementy WSDL (Web Services Description Language) do vygenerovaného WSDL pro kontrakt. |
| IWsdlExportExtension.ExportEndpoint(WsdlExporter, WsdlEndpointConversionContext) |
Zapíše vlastní elementy WSDL (Web Services Description Language) do generovaného WSDL pro koncový bod. |