System.ServiceModel 4.0.0.0 System.ServiceModel.Channels.SecurityBindingElement System.ServiceModel.Description.IPolicyExportExtension

A custom binding contains a collection of binding elements arranged in a specific order: the element that represents the top of the binding stack is added first, the next element down in the binding stack is added second, and so forth.

## To add this class to a binding

1. Create a .

2. Create custom binding elements that will be above this binding element in the binding stack, such as the optional and .

3. Add these elements in the previously mentioned order to the using the method.

4. Create an instance of and add it to the collection.

5. Add any additional custom binding elements to the collection, such as .

Note Once an instance of this object is created, you should treat the properties of its base class, , as immutable. Calling set on some properties may have unpredictable effects: the binding may behave as if the property retained its old value, with a run-time failure being the only indication of an issue. Two properties known to behave this way are and . There may be other properties for which this is true.

Represents a custom binding element that supports mixed-mode security (such as, optimized message security over a secure transport).

- Constructor
  4.0.0.0
  To be added.

  Creates an instance of the class.

- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelFactory<TChannel> `` To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelListener<TChannel> ReferenceTypeConstraint System.ServiceModel.Channels.IChannel `` To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.ServiceModel.Channels.BindingElement

  This creates a complete copy of the current binding element object tree, also called a deep clone. A deep clone of an object creates a copy of the object and a copy of everything directly or indirectly referenced by that object. (This can also be described as copying the entire object graph.) Returning a deep clone enables the runtime to support the case in which multiple custom bindings share a custom binding element. If a deep clone is not returned, the run-time behavior is undefined.

  A shallow clone of an object, by contrast, is a copy of the object only. If the object contains references to other objects, the shallow copy does not create copies of the referred objects; instead, it copies only the references to the original objects.

  Creates a new object initialized from the current class.

  A object with property values equal to those of the current instance.

- Method
  4.0.0.0
  T ReferenceTypeConstraint ``

  This method gets the specified object from the base class or from one of that class's ancestors. The object returned is usually a collection of properties, for example an object that implements .

  Gets a property from the specified .

  The property from the specified or null if the object is not found.

  A . The property to get.
- Method
  4.0.0.0
  System.Void `` ``

  This method writes binding-related statements into the WSDL information exposed by a particular contract and is used by indigo1 to communicate to clients the existence of this custom binding element in the binding stack.

  This method takes two parameters: the and objects. Use the , , and methods to obtain collections of policy assertions that have already been exported at various scopes. Then use this method to add your own policy assertions to the appropriate collection.

  The property exposes the for the endpoint that is being exported. This allows this method to correctly scope their exported policy assertions. For example, security attributes in code may add behaviors to the that indicate where security policy assertions should be added.

  Once custom policy assertions are attached to the WSDL information, clients can detect and import the custom binding assertions by implementing the interface.

  Exports a custom policy assertion about bindings.

  The that you can use to modify the exporting process. The that you can use to insert your custom policy assertion.