WSHttpBindingBase Class
Provides the base class with members common to the WSHttpBinding and the WSFederationHttpBinding.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
System.ServiceModel.Channels.Binding
System.ServiceModel.WSHttpBindingBase
System.ServiceModel.WSFederationHttpBinding
System.ServiceModel.WSHttpBinding
| Name | Description | |
|---|---|---|
![]() | WSHttpBindingBase() | Initializes a new instance of the WSHttpBindingBase class. |
![]() | WSHttpBindingBase(Boolean) | Initializes a new instance of the WSHttpBindingBase class with a value that indicates whether a reliable session is enabled. |
| Name | Description | |
|---|---|---|
![]() | BypassProxyOnLocal | Gets or sets a value that indicates whether to bypass the proxy server for local addresses. |
![]() | CloseTimeout | Gets or sets the interval of time provided for a connection to close before the transport raises an exception.(Inherited from Binding.) |
![]() | EnvelopeVersion | Gets the version of SOAP that is used for messages that are processed by this binding. |
![]() | HostNameComparisonMode | Gets or sets a value that indicates whether the hostname is used to reach the service when matching the URI. |
![]() | MaxBufferPoolSize | Gets or sets the maximum amount of memory allocated, in bytes, for the buffer manager that manages the buffers required by endpoints using this binding. |
![]() | MaxReceivedMessageSize | Gets or sets the maximum size, in bytes, for a message that can be processed by the binding. |
![]() | MessageEncoding | Gets or sets whether MTOM or Text/XML is used to encode SOAP messages. |
![]() | MessageVersion | Gets the message version used by clients and services configured with the binding.(Inherited from Binding.) |
![]() | Name | Gets or sets the name of the binding.(Inherited from Binding.) |
![]() | Namespace | Gets or sets the XML namespace of the binding.(Inherited from Binding.) |
![]() | OpenTimeout | Gets or sets the interval of time provided for a connection to open before the transport raises an exception.(Inherited from Binding.) |
![]() | ProxyAddress | Gets or sets the URI address of the HTTP proxy. |
![]() | ReaderQuotas | Gets or sets constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. |
![]() | ReceiveTimeout | Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.(Inherited from Binding.) |
![]() | ReliableSession | Gets an object that provides convenient access to the properties of a reliable session binding element that are available when using one of the system-provided bindings. |
![]() | Scheme | Gets the URI transport scheme for the channels and listeners that are configured with this binding.(Overrides Binding.Scheme.) |
![]() | SendTimeout | Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.(Inherited from Binding.) |
![]() | TextEncoding | Gets or sets the character encoding that is used for the message text. |
![]() | TransactionFlow | Gets or sets a value that indicates whether this binding should support flowing WS-Transactions. |
![]() | UseDefaultWebProxy | Gets or sets a value that indicates whether the auto-configured HTTP proxy of the system should be used, if available. |
| Name | Description | |
|---|---|---|
![]() | BuildChannelFactory<TChannel>(BindingParameterCollection) | Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.(Inherited from Binding.) |
![]() | BuildChannelFactory<TChannel>(Object[]) | Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(BindingParameterCollection) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Object[]) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, BindingParameterCollection) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, Object[]) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | BuildChannelListener<TChannel>(Uri, String, Object[]) | Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.(Inherited from Binding.) |
![]() | CanBuildChannelFactory<TChannel>(BindingParameterCollection) | Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.(Inherited from Binding.) |
![]() | CanBuildChannelFactory<TChannel>(Object[]) | Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.(Inherited from Binding.) |
![]() | CanBuildChannelListener<TChannel>(BindingParameterCollection) | Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.(Inherited from Binding.) |
![]() | CanBuildChannelListener<TChannel>(Object[]) | Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.(Inherited from Binding.) |
![]() | CreateBindingElements() | Returns an ordered collection of binding elements contained in the current binding.(Overrides Binding.CreateBindingElements().) |
![]() | CreateMessageSecurity() | When implemented in a derived class, returns the SecurityBindingElement from the current binding. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | Finalize() | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetProperty<T>(BindingParameterCollection) | Returns a typed object requested, if present, from the appropriate layer in the binding stack.(Inherited from Binding.) |
![]() | GetTransport() | When implemented in a derived class, returns the transport binding element from the current binding. |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ShouldSerializeName() | Returns whether the name of the binding should be serialized.(Inherited from Binding.) |
![]() | ShouldSerializeNamespace() | Returns whether the namespace of the binding should be serialized.(Inherited from Binding.) |
![]() | ShouldSerializeReaderQuotas() | Returns a value that indicates whether the ReaderQuotas property has changed from its default value and should be serialized. |
![]() | ShouldSerializeReliableSession() | Returns a value that indicates whether the ReliableSession property has changed from its default value and should be serialized. |
![]() | ShouldSerializeTextEncoding() | Returns a value that indicates whether the TextEncoding property has changed from its default value and should be serialized. |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | IBindingRuntimePreferences.ReceiveSynchronously | Gets a value that indicates whether incoming requests are handled synchronously or asynchronously. |
The WSHttpBindingBase provides some basic functionality for the bindings used to configure secure, reliable, and interoperable Web services, such as that implemented by the WSHttpBinding for non-duplex service contracts, and more particularly, for the secure and interoperable WSFederationHttpBinding that supports the WS-Federation protocol.
By default it generates a run-time stack that uses WS-Security for message security and authentication, HTTP for message delivery, and a Text/XML message encoding. It can be configured to also use WS-ReliableMessaging for reliability.
The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled parameter.
The following example shows how to use the functionality provided by the WSHttpBindingBase class with the derived classes, WSHttpBinding and WSFederationHttpBinding.
// Define a service contract for the calculator. [ServiceContract()] public interface ICalculator { [OperationContract(IsOneWay = false)] double Add(double n1, double n2); [OperationContract(IsOneWay = false)] double Subtract(double n1, double n2); [OperationContract(IsOneWay = false)] double Multiply(double n1, double n2); [OperationContract(IsOneWay = false)] double Divide(double n1, double n2); } // Service class which implements the service contract. public class CalculatorService : ICalculator { public double Add(double n1, double n2) { double result = n1 + n2; return result; } public double Subtract(double n1, double n2) { double result = n1 - n2; return result; } public double Multiply(double n1, double n2) { double result = n1 * n2; return result; } public double Divide(double n1, double n2) { double result = n1 / n2; return result; } // Create and configure bindings within this EXE console application. public static void Main() { // Create a WSHttpBinding WSHttpBinding binding1 = new WSHttpBinding(); binding1.BypassProxyOnLocal = true; EnvelopeVersion envelopeVersion = binding1.EnvelopeVersion; HostNameComparisonMode hostnameComparisonMode = binding1.HostNameComparisonMode; long maxBufferPoolSize = binding1.MaxBufferPoolSize; long maxReceivedMessageSize = binding1.MaxReceivedMessageSize; WSMessageEncoding messageEncoding = binding1.MessageEncoding; Uri proxyAddress = binding1.ProxyAddress; XmlDictionaryReaderQuotas readerQuotas = binding1.ReaderQuotas; OptionalReliableSession reliableSession = binding1.ReliableSession; string scheme = binding1.Scheme; Encoding textEncoding = binding1.TextEncoding; bool transactionFlow = binding1.TransactionFlow; bool useDefaultWebProxy = binding1.UseDefaultWebProxy; BindingElementCollection bindingElements = binding1.CreateBindingElements(); // Set WSHttpBinding binding property values binding1.Name = "Binding1"; binding1.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard; binding1.Security.Mode = SecurityMode.Message; binding1.ReliableSession.Enabled = false; binding1.TransactionFlow = false; // binding1.Security.Message.DefaultProtectionLevel = System.Net.Security.ProtectionLevel.EncryptAndSign; // Enumerate properties of the binding1. Console.WriteLine("WSHttpBinding binding1 properties:"); Console.WriteLine(" - name:\t\t\t{0}", binding1.Name); Console.WriteLine(" - hostname comparison:\t{0}", binding1.HostNameComparisonMode); Console.WriteLine(" - security mode:\t\t{0}", binding1.Security.Mode); Console.WriteLine(" - RM enabled:\t\t{0}", binding1.ReliableSession.Enabled); Console.WriteLine(" - transaction flow:\t{0}", binding1.TransactionFlow); //Console.WriteLine(" - message security:\t{0}", binding1.Security.Message.DefaultProtectionLevel); Console.WriteLine(" - transport scheme:\t{0}", binding1.Scheme); Console.WriteLine(" - max message size:\t{0}", binding1.MaxReceivedMessageSize); Console.WriteLine(" - default text encoding:\t{0}", binding1.TextEncoding); Console.WriteLine(); // Create a WSFederationBinding with a message security mode // and with a reliable session enabled. WSFederationHttpBinding binding3 = new WSFederationHttpBinding(WSFederationHttpSecurityMode.Message, true); // Enumerate properties of the binding2. Console.WriteLine("WSFederationBinding binding3 properties:"); Console.WriteLine(" - security mode:\t\t{0}", binding3.Security.Mode); Console.WriteLine(" - RM enabled:\t\t{0}", binding3.ReliableSession.Enabled); Console.WriteLine(); Console.WriteLine("Press <ENTER> to terminate."); Console.ReadLine(); } static void SnippetReceiveSynchronously () { WSHttpBinding binding = new WSHttpBinding(); IBindingRuntimePreferences s = binding.GetProperty<IBindingRuntimePreferences> (new BindingParameterCollection()); bool receiveSynchronously = s.ReceiveSynchronously; } }
Available since 3.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.




