WindowsStreamSecurityBindingElement Class

Definition

Represents the binding element used to specify Windows stream security settings.

C#
public class WindowsStreamSecurityBindingElement : System.ServiceModel.Channels.BindingElement
C#
public class WindowsStreamSecurityBindingElement : System.ServiceModel.Channels.StreamUpgradeBindingElement
C#
public class WindowsStreamSecurityBindingElement : System.ServiceModel.Channels.StreamUpgradeBindingElement, System.ServiceModel.Channels.ITransportTokenAssertionProvider, System.ServiceModel.Description.IPolicyExportExtension
Inheritance
WindowsStreamSecurityBindingElement
Inheritance
WindowsStreamSecurityBindingElement
Implements

Remarks

Transports that use a stream-oriented protocol such as TCP and named pipes support stream-based transport upgrades. Specifically, WCF provides security upgrades. The configuration of this transport security is encapsulated by this class as well as by SslStreamSecurityBindingElement, which can be configured and added to a custom binding. In addition, a third party can write its own custom StreamSecurityBindingElement. These binding elements extend the StreamUpgradeBindingElement class that is called to build the client and server stream upgrade providers.

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

To add this class to a binding

  1. Create a BindingElementCollection.

  2. Create any required custom binding elements that are above this binding element in the binding stack, such as the optional TransactionFlowBindingElement and ReliableSessionBindingElement.

  3. Add the created elements in the order described previously to the BindingElementCollection using the InsertItem method.

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

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

Constructors

Properties

ProtectionLevel

Gets or sets the protection level.

Methods

BuildChannelFactory<TChannel>(BindingContext)

Creates a channel factory that can be used to create a channel.

BuildChannelListener<TChannel>(BindingContext)

Creates a channel listener of the specified type.

BuildClientStreamUpgradeProvider(BindingContext)

Creates an instance on the client of the StreamUpgradeProvider based on the channel context provided.

BuildServerStreamUpgradeProvider(BindingContext)

Creates an instance on the server of the StreamUpgradeProvider based on the channel context provided.

CanBuildChannelFactory<TChannel>(BindingContext)

Determines whether a channel factory of the specified type can be built.

CanBuildChannelListener<TChannel>(BindingContext)

Determines whether a channel listener of the specified type can be built.

Clone()

Creates a new binding element from this instance of the class.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetProperty<T>(BindingContext)

Gets a specified object from the BindingContext.

GetTransportTokenAssertion()

Gets the XmlElement that represents the transport token used in the security binding.

GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

IPolicyExportExtension.ExportPolicy(MetadataExporter, PolicyConversionContext)

Exports a custom policy assertion about Windows stream security.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
UWP 10.0

See also