﻿<?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&lt;TChannel&gt;"><MemberSignature Language="C#" Value="protected override System.ServiceModel.Channels.IChannelFactory&lt;TChannel&gt; BuildChannelFactoryCore&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance class System.ServiceModel.Channels.IChannelFactory`1&lt;!!TChannel&gt; BuildChannelFactoryCore&lt;TChannel&gt;(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&lt;TChannel&gt;</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&lt;TChannel&gt;"><MemberSignature Language="C#" Value="protected override System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt; BuildChannelListenerCore&lt;TChannel&gt; (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&lt;!!TChannel&gt; BuildChannelListenerCore&lt;class (class System.ServiceModel.Channels.IChannel) TChannel&gt;(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&lt;TChannel&gt;</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&lt;T&gt;"><MemberSignature Language="C#" Value="public override T GetProperty&lt;T&gt; (System.ServiceModel.Channels.BindingContext context) where T : class;" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance !!T GetProperty&lt;class T&gt;(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>