System.ServiceModel
4.0.0.0
System.ServiceModel.Channels.Binding
Use a custom binding when one of the system-provided bindings does not meet the requirements of your service. A custom binding could be used, for example, to enable the use of a new transport or a new encoder at a service endpoint.
A custom binding is constructed using one of the from a collection of binding elements that are "stacked" in a specific order:
-
At the top is an optional that allows flowing transactions.
-
Next is an optional that provides a session and ordering mechanism as defined in the WS-ReliableMessaging specification. This notion of a session can cross SOAP and transport intermediaries.
-
Next is an optional security binding element that provides security features like authorization, authentication, protection, and confidentiality. The following security binding elements are provided by indigo1:
-
-
-
-
-
Next are the optional message-patterns specified by binding elements:
-
-
Next are the optional transport upgrades/helpers binding elements:
-
-
-
-
Next is a required message encoding binding element. You can use your own transport or use one of the following message encoding bindings:
-
-
-
-
At the bottom is a required transport element. You can use your own transport or use one of transport binding elements provided by indigo1:
-
-
-
-
-
-
-
The following table summarizes the options for each layer.
-
Layer
Options
Required
-
Transaction Flow
No
-
Reliability
No
-
Security
Symmetric, Asymmetric, Transport-Level
No
-
Shape Change
No
-
Transport Upgrades
SSL stream, Windows stream, Peer Resolver
No
-
Encoding
Text, Binary, MTOM, Custom
Yes
-
Transport
TCP, Named Pipes, HTTP, HTTPS, flavors of MSMQ, Custom
Yes
In addition, you can define your own binding elements and insert them between any of the preceding defined layers.
For a discussion on how to use a custom binding to modify a system-provided binding, see How To: Customize a System-Provided Binding.
When calling a indigo2 service built with.Net Framework 4.0 from a WCF client application built with netfx35_short or earlier, the configuration file generated by svcutil.exe or adding a service reference from vsprvs will contain the validity attribute in the binding configuration. This attribute is not recognized by the netfx35_short runtime and the application will thrown an with the message "Unrecognized attribute validity". To workaround this problem, remove the validity attribute from the binding configuration.
Defines a binding from a list of binding elements.
Constructor
4.0.0.0
To be added.
Initializes a new instance of the class.
Constructor
4.0.0.0
To be added.
To be added.
Initializes a new instance of the class with the binding elements from a complete channel stack.
Constructor
4.0.0.0
To be added.
Initializes a new instance of the class from the values of a specified binding.
The that is used to initialize the custom binding.
Constructor
4.0.0.0
System.ParamArray
To be added.
To be added.
Initializes a new instance of the class from an array of binding elements.
Constructor
4.0.0.0
To be added.
The binding element named by
Initializes a new instance of the class.
Constructor
4.0.0.0
System.ParamArray
To be added.
To be added.
Initializes a new instance of the class from an array of binding elements with a specified name and namespace.
The name of the binding.
The namespace of the binding.
Method
4.0.0.0
System.ServiceModel.Channels.BindingElementCollection
To be added.
Returns a generic collection of the binding elements from the custom binding.
An object of type that contains the binding elements from the custom binding.
Property
4.0.0.0
System.ServiceModel.Channels.BindingElementCollection
To be added.
To be added.
Gets the binding elements from the custom binding.
Property
4.0.0.0
System.String
To be added.
This method is provided to enable binding validation against base addresses.
Gets the URI scheme for transport used by the custom binding.