<?xml version="1.0" encoding="utf-8"?> <Type Name="TransportSecurityBindingElement" FullName="System.ServiceModel.Channels.TransportSecurityBindingElement"> <TypeSignature Language="C#" Value="public sealed class TransportSecurityBindingElement : System.ServiceModel.Channels.SecurityBindingElement, System.ServiceModel.Description.IPolicyExportExtension" /> <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit TransportSecurityBindingElement extends System.ServiceModel.Channels.SecurityBindingElement implements class System.ServiceModel.Description.IPolicyExportExtension" /> <AssemblyInfo> <AssemblyName>System.ServiceModel</AssemblyName> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <Base> <BaseTypeName>System.ServiceModel.Channels.SecurityBindingElement</BaseTypeName> </Base> <Interfaces> <Interface> <InterfaceName>System.ServiceModel.Description.IPolicyExportExtension</InterfaceName> </Interface> </Interfaces> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>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.</para> <procedure> <format type="text/html"> <h2>To add this class to a binding</h2> </format> <steps> <step> <para>Create a <see cref="T:System.ServiceModel.Channels.BindingElementCollection" />. </para> </step> <step> <para>Create custom binding elements that will be above this binding element in the binding stack, such as the optional <see cref="T:System.ServiceModel.Channels.TransactionFlowBindingElement" /> and <see cref="T:System.ServiceModel.Channels.ReliableSessionBindingElement" />.</para> </step> <step> <para>Add these elements in the previously mentioned order to the <see cref="T:System.ServiceModel.Channels.BindingElementCollection" /> using the <see cref="M:System.ServiceModel.Channels.BindingElementCollection.InsertItem(System.Int32,System.ServiceModel.Channels.BindingElement)" /> method.</para> </step> <step> <para>Create an instance of <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> and add it to the collection.</para> </step> <step> <para>Add any additional custom binding elements to the collection, such as <see cref="T:System.ServiceModel.Channels.TcpTransportBindingElement" />.</para> </step> <step> <para /> </step> </steps> </procedure> <para>Note Once an instance of this object is created, you should treat the properties of its base class, <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" />, 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 <see cref="P:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters.KeyType" /> and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" />. There may be other properties for which this is true.</para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Represents a custom binding element that supports mixed-mode security (such as, optimized message security over a secure transport).</para> </summary> </Docs> <Members> <Member MemberName=".ctor"> <MemberSignature Language="C#" Value="public TransportSecurityBindingElement ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> <MemberType>Constructor</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <Parameters /> <Docs> <remarks>To be added.</remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Creates an instance of the <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> class.</para> </summary> </Docs> </Member> <Member MemberName="BuildChannelFactoryCore<TChannel>"> <MemberSignature Language="C#" Value="protected override System.ServiceModel.Channels.IChannelFactory<TChannel> BuildChannelFactoryCore<TChannel> (System.ServiceModel.Channels.BindingContext context);" /> <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance class System.ServiceModel.Channels.IChannelFactory`1<!!TChannel> BuildChannelFactoryCore<TChannel>(class System.ServiceModel.Channels.BindingContext context) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.ServiceModel.Channels.IChannelFactory<TChannel></ReturnType> </ReturnValue> <TypeParameters> <TypeParameter Name="TChannel" /> </TypeParameters> <Parameters> <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" /> </Parameters> <Docs> <typeparam name="TChannel">To be added.</typeparam> <param name="context">To be added.</param> <summary>To be added.</summary> <returns>To be added.</returns> <remarks>To be added.</remarks> </Docs> </Member> <Member MemberName="BuildChannelListenerCore<TChannel>"> <MemberSignature Language="C#" Value="protected override System.ServiceModel.Channels.IChannelListener<TChannel> BuildChannelListenerCore<TChannel> (System.ServiceModel.Channels.BindingContext context) where TChannel : class, System.ServiceModel.Channels.IChannel;" /> <MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance class System.ServiceModel.Channels.IChannelListener`1<!!TChannel> BuildChannelListenerCore<class (class System.ServiceModel.Channels.IChannel) TChannel>(class System.ServiceModel.Channels.BindingContext context) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.ServiceModel.Channels.IChannelListener<TChannel></ReturnType> </ReturnValue> <TypeParameters> <TypeParameter Name="TChannel"> <Constraints> <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute> <InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName> </Constraints> </TypeParameter> </TypeParameters> <Parameters> <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" /> </Parameters> <Docs> <typeparam name="TChannel">To be added.</typeparam> <param name="context">To be added.</param> <summary>To be added.</summary> <returns>To be added.</returns> <remarks>To be added.</remarks> </Docs> </Member> <Member MemberName="Clone"> <MemberSignature Language="C#" Value="public override System.ServiceModel.Channels.BindingElement Clone ();" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ServiceModel.Channels.BindingElement Clone() cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.ServiceModel.Channels.BindingElement</ReturnType> </ReturnValue> <Parameters /> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>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. </para> <para>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.</para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Creates a new <see cref="T:System.ServiceModel.Channels.BindingElement" /> object initialized from the current class. </para> </summary> <returns> <attribution license="cc4" from="Microsoft" modified="false" /> <para>A <see cref="T:System.ServiceModel.Channels.BindingElement" /> object with property values equal to those of the current instance.</para> </returns> </Docs> </Member> <Member MemberName="GetProperty<T>"> <MemberSignature Language="C#" Value="public override T GetProperty<T> (System.ServiceModel.Channels.BindingContext context) where T : class;" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance !!T GetProperty<class T>(class System.ServiceModel.Channels.BindingContext context) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>T</ReturnType> </ReturnValue> <TypeParameters> <TypeParameter Name="T"> <Constraints> <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute> </Constraints> </TypeParameter> </TypeParameters> <Parameters> <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" /> </Parameters> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>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 <see cref="T:System.ServiceModel.Channels.ISecurityCapabilities" />.</para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Gets a property from the specified <see cref="T:System.ServiceModel.Channels.BindingContext" />.</para> </summary> <returns> <attribution license="cc4" from="Microsoft" modified="false" /> <para>The property from the specified <see cref="T:System.ServiceModel.Channels.BindingContext" /> or null if the object is not found.</para> </returns> <param name="context"> <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param> <typeparam name="T"> <attribution license="cc4" from="Microsoft" modified="false" />The property to get.</typeparam> </Docs> </Member> <Member MemberName="System.ServiceModel.Description.IPolicyExportExtension.ExportPolicy"> <MemberSignature Language="C#" Value="void IPolicyExportExtension.ExportPolicy (System.ServiceModel.Description.MetadataExporter exporter, System.ServiceModel.Description.PolicyConversionContext policyContext);" /> <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IPolicyExportExtension.ExportPolicy(class System.ServiceModel.Description.MetadataExporter exporter, class System.ServiceModel.Description.PolicyConversionContext policyContext) cil managed" /> <MemberType>Method</MemberType> <AssemblyInfo> <AssemblyVersion>4.0.0.0</AssemblyVersion> </AssemblyInfo> <ReturnValue> <ReturnType>System.Void</ReturnType> </ReturnValue> <Parameters> <Parameter Name="exporter" Type="System.ServiceModel.Description.MetadataExporter" /> <Parameter Name="policyContext" Type="System.ServiceModel.Description.PolicyConversionContext" /> </Parameters> <Docs> <remarks> <attribution license="cc4" from="Microsoft" modified="false" /> <para>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.</para> <para>This method takes two parameters: the <see cref="T:System.ServiceModel.Description.MetadataExporter" /> and <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> objects. Use the <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetBindingAssertions" />, <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetMessageBindingAssertions(System.ServiceModel.Description.MessageDescription)" />, and <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetOperationBindingAssertions(System.ServiceModel.Description.OperationDescription)" /> 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.</para> <para>The <see cref="P:System.ServiceModel.Description.PolicyConversionContext.Contract" /> property exposes the <see cref="T:System.ServiceModel.Description.ContractDescription" /> 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 <see cref="T:System.ServiceModel.Description.ContractDescription" /> that indicate where security policy assertions should be added.</para> <para>Once custom policy assertions are attached to the WSDL information, clients can detect and import the custom binding assertions by implementing the <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> interface. </para> </remarks> <summary> <attribution license="cc4" from="Microsoft" modified="false" /> <para>Exports a custom policy assertion about bindings.</para> </summary> <param name="exporter"> <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.MetadataExporter" /> that you can use to modify the exporting process.</param> <param name="policyContext"> <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> that you can use to insert your custom policy assertion.</param> </Docs> </Member> </Members> </Type>