HttpTransportBindingElement Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
- 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. |