Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="CallbackDebugBehavior" FullName="System.ServiceModel.Description.CallbackDebugBehavior">
<TypeSignature Language="C#" Value="public class CallbackDebugBehavior : System.ServiceModel.Description.IEndpointBehavior" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CallbackDebugBehavior extends System.Object implements class System.ServiceModel.Description.IEndpointBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Description.IEndpointBehavior</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Set the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property to true from an application configuration file or programmatically to enable the flow of managed exception information in a client callback object back to the service for debugging purposes. </para>
<block subset="none" type="note">
<para>Returning managed exception information to services can be a security risk because exception details expose information about the internal client implementation that could be used by unauthorized services. In addition, although the <see cref="T:System.ServiceModel.Description.CallbackDebugBehavior" /> properties can also be set programmatically, it can be easy to forget to disable <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> when deploying. </para>
</block>
<para>Because of the security issues involved, it is strongly recommended that:</para>
<list type="bullet">
<item>
<para>You use an application configuration file to set the value of the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property to true.</para>
</item>
<item>
<para>You only do so only in controlled debugging scenarios.</para>
</item>
</list>
<para>crabout the security issues related to managed exception information, see <format type="text/html"><a href="a9696563-d404-4905-942d-1e0834c26dea">Specifying and Handling Faults in Contracts and Services</a></format>.</para>
<para>You can also set the values of this attribute by using the <format type="text/html"><a href="4073feda-1857-4be4-9947-227afb847ced">&lt;callbackDebug&gt;</a></format> element in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Enables service debugging for a indigo1 callback object.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CallbackDebugBehavior (bool includeExceptionDetailInFaults);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool includeExceptionDetailInFaults) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="includeExceptionDetailInFaults" Type="System.Boolean" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The constructor creates a <see cref="T:System.ServiceModel.Description.CallbackDebugBehavior" /> object in which the value of the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property is the value of <paramref name="includeExceptionDetailInFaults" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.CallbackDebugBehavior" /> class. </para>
</summary>
<param name="includeExceptionDetailInFaults">
<attribution license="cc4" from="Microsoft" modified="false" />Controls whether a indigo2 callback object includes managed exception information in the detail of the SOAP faults sent back to the service.</param>
</Docs>
</Member>
<Member MemberName="IncludeExceptionDetailInFaults">
<MemberSignature Language="C#" Value="public bool IncludeExceptionDetailInFaults { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IncludeExceptionDetailInFaults" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Set the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property to true from an application configuration file or programmatically to enable the flow of managed exception information in a client callback object back to the service for debugging purposes. </para>
<block subset="none" type="note">
<para>Returning managed exception information to services can be a security risk because exception details expose information about the internal client implementation that could be used by unauthorized services. In addition, although the <see cref="T:System.ServiceModel.Description.CallbackDebugBehavior" /> properties can also be set programmatically, it can be easy to forget to disable <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> when deploying. </para>
</block>
<para>Because of the security issues involved, it is strongly recommended that:</para>
<list type="bullet">
<item>
<para>You use an application configuration file to set the value of the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property to true.</para>
</item>
<item>
<para>You only do so only in controlled debugging scenarios.</para>
</item>
</list>
<para>crabout the security issues related to managed exception information, see <format type="text/html"><a href="a9696563-d404-4905-942d-1e0834c26dea">Specifying and Handling Faults in Contracts and Services</a></format>.</para>
<procedure>
<format type="text/html">
<h2>To enable or disable a feature of CallbackDebugBehavior using a configuration file</h2>
</format>
<steps>
<step>
<para>Add a behaviorConfiguration attribute to the client <format type="text/html"><a href="13aa23b7-2f08-4add-8dbf-a99f8127c017">&lt;endpoint&gt;</a></format> element for your indigo2 client application. The <see cref="T:System.ServiceModel.Description.CallbackDebugBehavior" /> behavior is an endpoint behavior. Endpoint behaviors are configured on &lt;endpoint&gt; elements; service behaviors are configured on <format type="text/html"><a href="13123dd6-c4a9-4a04-a984-df184b851788">&lt;service&gt;</a></format> elements.</para>
</step>
<step>
<para>Add to or create an <format type="text/html"><a href="fb851947-e8dd-4f8c-8323-26fae90b09c3">&lt;endpointBehaviors&gt;</a></format> section and add a <format type="text/html"><a href="b90ca3bc-3c22-4174-b903-e3a39898bd27">&lt;behavior&gt;</a></format> element to that with the name that matches the behaviorConfiguration attribute value from step 1. Endpoint behaviors are added for use in a client <format type="text/html"><a href="13aa23b7-2f08-4add-8dbf-a99f8127c017">&lt;endpoint&gt;</a></format> element using an <format type="text/html"><a href="fb851947-e8dd-4f8c-8323-26fae90b09c3">&lt;endpointBehaviors&gt;</a></format> element.</para>
</step>
<step>
<para>Add a <format type="text/html"><a href="4073feda-1857-4be4-9947-227afb847ced">&lt;callbackDebug&gt;</a></format> element to the <format type="text/html"><a href="b90ca3bc-3c22-4174-b903-e3a39898bd27">&lt;behavior&gt;</a></format> element from step 2 and enable or disable the various properties appropriate to your scenario.</para>
</step>
</steps>
</procedure>
<para>For a specific example, see the Example section. You can also set the values of this attribute by using the <format type="text/html"><a href="4073feda-1857-4be4-9947-227afb847ced">&lt;callbackDebug&gt;</a></format> element in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a value that controls whether client callback objects return managed exception information in SOAP faults back to the service.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters">
<MemberSignature Language="C#" Value="void IEndpointBehavior.AddBindingParameters (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to support the behavior.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior">
<MemberSignature Language="C#" Value="void IEndpointBehavior.ApplyClientBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.ClientRuntime behavior) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="behavior" Type="System.ServiceModel.Dispatcher.ClientRuntime" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Assigns the value of the <see cref="P:System.ServiceModel.Description.CallbackDebugBehavior.IncludeExceptionDetailInFaults" /> property to the <see cref="P:System.ServiceModel.Dispatcher.ChannelDispatcher.IncludeExceptionDetailInFaults" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> to support the behavior.</para>
</summary>
<param name="behavior">
<attribution license="cc4" from="Microsoft" modified="false" />The client runtime to be customized.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="void IEndpointBehavior.ApplyDispatchBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="dispatcher" Type="System.ServiceModel.Dispatcher.EndpointDispatcher" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="dispatcher">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Throws an <see cref="T:System.InvalidOperationException" />; this behavior can only be used in a client application.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.EndpointDispatcher)" /> to support the behavior.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.Validate">
<MemberSignature Language="C#" Value="void IEndpointBehavior.Validate (System.ServiceModel.Description.ServiceEndpoint endpoint);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.Validate(class System.ServiceModel.Description.ServiceEndpoint endpoint) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements <see cref="M:System.ServiceModel.Description.IEndpointBehavior.Validate(System.ServiceModel.Description.ServiceEndpoint)" /> to support the behavior.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,460 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ClientCredentials" FullName="System.ServiceModel.Description.ClientCredentials">
<TypeSignature Language="C#" Value="public class ClientCredentials : System.ServiceModel.Security.SecurityCredentialsManager, System.ServiceModel.Description.IEndpointBehavior" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ClientCredentials extends System.ServiceModel.Security.SecurityCredentialsManager implements class System.ServiceModel.Description.IEndpointBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.ServiceModel.Security.SecurityCredentialsManager</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Description.IEndpointBehavior</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.ClientCredentials" /> is accessed through the <see cref="P:System.ServiceModel.ClientBase`1.ClientCredentials" /> property of the <see cref="T:System.ServiceModel.ClientBase`1" /> class.</para>
<para>A <see cref="T:System.ServiceModel.Description.ClientCredentials" /> object is added to the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Behaviors" /> collection. The <see cref="P:System.ServiceModel.ClientBase`1.ClientCredentials" /> property is a <newTerm>Façade</newTerm> (a well-known design pattern) over an entry in that collection. Many properties in this class return objects that consist mainly of properties. These objects can be used for configuration: once you get the object, you can use it to set properties by calling its members.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ClientCredentials ();" />
<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>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This constructor creates a <see cref="T:System.ServiceModel.Description.ClientCredentials" /> object with default settings, for example, <see cref="P:System.ServiceModel.Description.ClientCredentials.SupportInteractive" /> = true.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.ClientCredentials" /> class. </para>
</summary>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected ClientCredentials (System.ServiceModel.Description.ClientCredentials source);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.ServiceModel.Description.ClientCredentials source) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="source" Type="System.ServiceModel.Description.ClientCredentials" />
</Parameters>
<Docs>
<param name="source">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This is a copy constructor. </para>
</summary>
</Docs>
</Member>
<Member MemberName="ApplyClientBehavior">
<MemberSignature Language="C#" Value="public virtual void ApplyClientBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyClientBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.ClientRuntime behavior) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="behavior" Type="System.ServiceModel.Dispatcher.ClientRuntime" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The client behavior is applied to the endpoint only if the endpoint does not have a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> associated with it.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Applies the specified client behavior to the endpoint.</para>
</summary>
<param name="behavior">
<attribution license="cc4" from="Microsoft" modified="false" />The client behavior that is to be applied to the specified endpoint.</param>
</Docs>
</Member>
<Member MemberName="ClientCertificate">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.X509CertificateInitiatorClientCredential ClientCertificate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.X509CertificateInitiatorClientCredential ClientCertificate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.X509CertificateInitiatorClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can also set this value using the <format type="text/html"><a href="00297efb-a7f2-4e03-bc2b-943d545610fc">&lt;certificate&gt; of &lt;clientCertificate&gt; Element</a></format> in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets an object that you can use to provide the X.509 certificate that the client uses to authenticate to the service. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Clone">
<MemberSignature Language="C#" Value="public System.ServiceModel.Description.ClientCredentials Clone ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ServiceModel.Description.ClientCredentials Clone() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.ClientCredentials</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates a new copy of this <see cref="T:System.ServiceModel.Description.ClientCredentials" /> instance.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.ServiceModel.Description.ClientCredentials" /> instance.</para>
</returns>
</Docs>
</Member>
<Member MemberName="CloneCore">
<MemberSignature Language="C#" Value="protected virtual System.ServiceModel.Description.ClientCredentials CloneCore ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.ServiceModel.Description.ClientCredentials CloneCore() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.ClientCredentials</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="M:System.ServiceModel.Description.ClientCredentials.Clone" /> and <see cref="M:System.ServiceModel.Description.ClientCredentials.CloneCore" /> methods follow the Core design pattern. <see cref="M:System.ServiceModel.Description.ClientCredentials.CloneCore" /> can be overridden in derived classes if they add new fields that must be cloned.</para>
<para>The <see cref="M:System.ServiceModel.Description.ClientCredentials.CloneCore" /> method calls the <see cref="M:System.ServiceModel.Description.ClientCredentials.#ctor(System.ServiceModel.Description.ClientCredentials)" /> constructor.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates a new copy of this <see cref="T:System.ServiceModel.Description.ClientCredentials" /> instance.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.ServiceModel.Description.ClientCredentials" /> instance.</para>
</returns>
</Docs>
</Member>
<Member MemberName="CreateSecurityTokenManager">
<MemberSignature Language="C#" Value="public override System.IdentityModel.Selectors.SecurityTokenManager CreateSecurityTokenManager ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.IdentityModel.Selectors.SecurityTokenManager CreateSecurityTokenManager() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IdentityModel.Selectors.SecurityTokenManager</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method is usually overridden by custom client credentials implementations that inherit from this class. This method is responsible for returning a new instance of a <see cref="T:System.IdentityModel.Selectors.SecurityTokenManager" /> implementation.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates a security token manager for this instance. This method is rarely called explicitly; it is primarily used in extensibility scenarios and is called by the system itself. </para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.ServiceModel.ClientCredentialsSecurityTokenManager" /> for this <see cref="T:System.ServiceModel.Description.ClientCredentials" /> instance.</para>
</returns>
</Docs>
</Member>
<Member MemberName="GetInfoCardSecurityToken">
<MemberSignature Language="C#" Value="protected virtual System.IdentityModel.Tokens.SecurityToken GetInfoCardSecurityToken (bool requiresInfoCard, System.IdentityModel.Selectors.CardSpacePolicyElement[] chain, System.IdentityModel.Selectors.SecurityTokenSerializer tokenSerializer);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.IdentityModel.Tokens.SecurityToken GetInfoCardSecurityToken(bool requiresInfoCard, class System.IdentityModel.Selectors.CardSpacePolicyElement[] chain, class System.IdentityModel.Selectors.SecurityTokenSerializer tokenSerializer) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.IdentityModel.Tokens.SecurityToken</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="requiresInfoCard" Type="System.Boolean" />
<Parameter Name="chain" Type="System.IdentityModel.Selectors.CardSpacePolicyElement[]" />
<Parameter Name="tokenSerializer" Type="System.IdentityModel.Selectors.SecurityTokenSerializer" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Generates and returns a security token using the infocard system and the specified policy chain and token serializer.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.IdentityModel.Tokens.GenericXmlSecurityToken" /> that represents the generated security token. Returns null if <paramref name="requiresInfoCard" /> is false.</para>
</returns>
<param name="requiresInfoCard">
<attribution license="cc4" from="Microsoft" modified="false" />A value that determines whether infocard is required.</param>
<param name="chain">
<attribution license="cc4" from="Microsoft" modified="false" />An array of <see cref="T:System.IdentityModel.Selectors.CardSpacePolicyElement" /> that describes the federated security chain that the client requires a final token to unwind.</param>
<param name="tokenSerializer">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.IdentityModel.Selectors.SecurityTokenSerializer" /> that can read a KeyInfo clause.</param>
</Docs>
</Member>
<Member MemberName="HttpDigest">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.HttpDigestClientCredential HttpDigest { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.HttpDigestClientCredential HttpDigest" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.HttpDigestClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the credential by calling the <see cref="P:System.ServiceModel.Security.HttpDigestClientCredential.AllowedImpersonationLevel" /> property.</para>
<para>Similarly, you can specify the network credential to use if it is different from the current thread's token.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the current HTTP Digest credential.</para>
</summary>
</Docs>
</Member>
<Member MemberName="IssuedToken">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.IssuedTokenClientCredential IssuedToken { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.IssuedTokenClientCredential IssuedToken" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.IssuedTokenClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the settings of the local Security Token Service by calling its members.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use this property to specify the endpoint address and binding to use when contacting your local Security Token Service. This information is used when a service requires authentication using an issued token, but the policy of the service (represented as a binding on the client) does not explicitly specify how and where to obtain the issued token. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Peer">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.PeerCredential Peer { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.PeerCredential Peer" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.PeerCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the credential by calling its members, such as <see cref="P:System.ServiceModel.Security.PeerCredential.Certificate" />, <see cref="P:System.ServiceModel.Security.PeerCredential.MeshPassword" />, <see cref="P:System.ServiceModel.Security.PeerCredential.MessageSenderAuthentication" />, and <see cref="P:System.ServiceModel.Security.PeerCredential.PeerAuthentication" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Controls the credentials that a peer node uses to authenticate itself to other nodes in the mesh, as well as authentication settings that a peer node uses to authenticate other peer nodes. </para>
</summary>
</Docs>
</Member>
<Member MemberName="ServiceCertificate">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.X509CertificateRecipientClientCredential ServiceCertificate { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.X509CertificateRecipientClientCredential ServiceCertificate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.X509CertificateRecipientClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the certificate's properties by calling its members.</para>
<para>You can specify a single default certificate as well as a different certificate to be used when communicating with a particular URI. </para>
<para>Through this class, you also control the authentication settings for service certificates negotiated through SSL/TLS negotiation performed at the message level.</para>
<para>This property does not always have to be specified. Whether it is required depends on the authentication mode and negotiation options set on the binding that is used to communicate with the service. Some relevant classes that control this behavior are <see cref="T:System.ServiceModel.MessageSecurityOverHttp" /> and <see cref="T:System.ServiceModel.MessageSecurityOverTcp" />.</para>
<para>You can also set this value using the <format type="text/html"><a href="4aeccaf7-8f23-495c-aa5f-5bd8b5d4a10c">&lt;certificate&gt; for &lt;identity&gt;</a></format> element in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets an object used to specify a service's X.509 certificate. </para>
</summary>
</Docs>
</Member>
<Member MemberName="SupportInteractive">
<MemberSignature Language="C#" Value="public bool SupportInteractive { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool SupportInteractive" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This property controls whether a user interface is allowed to pop up during credential provisioning. The most common case where this currently happens is with infocard.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a value that indicates whether the system is allowed to interactively prompt the user for credentials when necessary. For example, setting it to false might be desired in middle-tier scenarios. </para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters">
<MemberSignature Language="C#" Value="void IEndpointBehavior.AddBindingParameters (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An explicit implementation of the <see cref="M:System.ServiceModel.Description.ClientCredentials.System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Adds this instance of this class to a binding parameter collection.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="void IEndpointBehavior.ApplyDispatchBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="dispatcher" Type="System.ServiceModel.Dispatcher.EndpointDispatcher" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="dispatcher">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the service across an endpoint.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.Validate">
<MemberSignature Language="C#" Value="void IEndpointBehavior.Validate (System.ServiceModel.Description.ServiceEndpoint endpoint);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.Validate(class System.ServiceModel.Description.ServiceEndpoint endpoint) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Reserved for future use.</para>
</summary>
</Docs>
</Member>
<Member MemberName="UserName">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.UserNamePasswordClientCredential UserName { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.UserNamePasswordClientCredential UserName" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.UserNamePasswordClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the credential by calling its members, such as <see cref="P:System.ServiceModel.Security.UserNamePasswordClientCredential.UserName" /> and <see cref="P:System.ServiceModel.Security.UserNamePasswordClientCredential.Password" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a credential object that you can use to set the user name and password that the client uses to authenticate itself to the service. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Windows">
<MemberSignature Language="C#" Value="public System.ServiceModel.Security.WindowsClientCredential Windows { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.WindowsClientCredential Windows" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Security.WindowsClientCredential</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can use the object returned by this property to configure the Windows credential by calling its members, such as <see cref="P:System.ServiceModel.Security.WindowsClientCredential.AllowNtlm" /> and <see cref="P:System.ServiceModel.Security.WindowsClientCredential.AllowedImpersonationLevel" />. </para>
<para>These settings control the Windows credential used during SPNEGO negotiation at either the message or transport level or the properties of Kerberos tokens used for authentication at the message level.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets an object used to control the Windows credential that the client uses to authenticate itself to the service. </para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ClientViaBehavior" FullName="System.ServiceModel.Description.ClientViaBehavior">
<TypeSignature Language="C#" Value="public class ClientViaBehavior : System.ServiceModel.Description.IEndpointBehavior" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ClientViaBehavior extends System.Object implements class System.ServiceModel.Description.IEndpointBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Description.IEndpointBehavior</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If such a behavior exists in the behavior collection on a client endpoint, the transport uses the URI that it provides, while all the other channel layers in the stack use the <see cref="T:System.ServiceModel.EndpointAddress" /> provided at <see cref="T:System.ServiceModel.ChannelFactory" /> construction time. This <see cref="T:System.ServiceModel.EndpointAddress" /> also becomes the WS-Addressing To header.</para>
<para>Use this behavior when the immediate network destination is not the intended processor of the message to enable multiple-hop conversations when the calling application does not necessarily know the ultimate destination or when the destination Via header is not an address.</para>
<para>You can also set this value using the <format type="text/html"><a href="c27ee94e-babd-459b-9574-2a6d67d11314">&lt;clientVia&gt;</a></format> element in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.ClientViaBehavior" /> is used by clients to specify the URI for which the transport channel should be created. </para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ClientViaBehavior (Uri uri);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Uri uri) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="uri" Type="System.Uri" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.ClientViaBehavior" /> class. </para>
</summary>
<param name="uri">
<attribution license="cc4" from="Microsoft" modified="false" />The URI for which the transport channel should be created.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters">
<MemberSignature Language="C#" Value="void IEndpointBehavior.AddBindingParameters (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Is not implemented.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior">
<MemberSignature Language="C#" Value="void IEndpointBehavior.ApplyClientBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.ClientRuntime behavior) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="behavior" Type="System.ServiceModel.Dispatcher.ClientRuntime" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Sets the <see cref="P:System.ServiceModel.Dispatcher.ClientRuntime.Via" /> to the URI for which the transport channel is created.</para>
</summary>
<param name="behavior">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> for which the client behavior is to be applied.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="void IEndpointBehavior.ApplyDispatchBehavior (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="dispatcher" Type="System.ServiceModel.Dispatcher.EndpointDispatcher" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<param name="dispatcher">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Throws an <see cref="T:System.InvalidOperationException" /> because this operation should not be performed at the client end.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the service across an endpoint.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IEndpointBehavior.Validate">
<MemberSignature Language="C#" Value="void IEndpointBehavior.Validate (System.ServiceModel.Description.ServiceEndpoint endpoint);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IEndpointBehavior.Validate(class System.ServiceModel.Description.ServiceEndpoint endpoint) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
</Parameters>
<Docs>
<param name="endpoint">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Is not implemented.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Uri">
<MemberSignature Language="C#" Value="public Uri Uri { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Uri Uri" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Uri</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>You can also set this value using the <format type="text/html"><a href="c27ee94e-babd-459b-9574-2a6d67d11314">&lt;clientVia&gt;</a></format> element in a client application configuration file.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or set the URI for which the transport channel should be created.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,434 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="ContractDescription" FullName="System.ServiceModel.Description.ContractDescription">
<TypeSignature Language="C#" Value="public class ContractDescription" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ContractDescription extends System.Object" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.Diagnostics.DebuggerDisplay("Name={name}, Namespace={ns}, ContractType={contractType}")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A indigo2 contract is a collection of operations that specifies what the endpoint communicates to the outside world. Each operation is a message exchange. For example, a request message and an associated reply message form a request/reply message exchange. </para>
<para>A <see cref="T:System.ServiceModel.Description.ContractDescription" /> object is used to describe indigo2 contracts and their operations. Within a <see cref="T:System.ServiceModel.Description.ContractDescription" />, each contract operation has a corresponding <see cref="T:System.ServiceModel.Description.OperationDescription" /> that describes aspects of the each operation that is part of the contract, such as whether the operation is one-way or request/reply. Each <see cref="T:System.ServiceModel.Description.OperationDescription" /> also describes the messages that make up the operation using a <see cref="T:System.ServiceModel.Description.MessageDescriptionCollection" />. <see cref="T:System.ServiceModel.Description.ContractDescription" /> contains a reference to an interface that defines the contract using the programming model. This interface is marked with <see cref="T:System.ServiceModel.ServiceContractAttribute" /> and its methods that correspond to endpoint operations are marked with the <see cref="T:System.ServiceModel.OperationContractAttribute" />. </para>
<para>A <newTerm>duplex</newTerm> contract defines the following logical sets of operations: </para>
<list type="bullet">
<item>
<para>A set that the service exposes for the client to call. </para>
</item>
<item>
<para>A set that the client exposes for the service to call. </para>
</item>
</list>
<para>The programming model for defining a duplex contract is to split each set in a separate interface and apply attributes to each interface. In this case, <see cref="T:System.ServiceModel.Description.ContractDescription" /> contains a reference to each of the interfaces that groups them into one duplex contract. </para>
<para>Similar to bindings, each contract has a <see cref="P:System.ServiceModel.Description.ContractDescription.Name" /> and <see cref="P:System.ServiceModel.Description.ContractDescription.Namespace" /> that uniquely identify it in the metadata of the service.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Describes a indigo1 contract that specifies what an endpoint communicates to the outside world.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ContractDescription (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string name) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.ContractDescription" /> class with a specified name.</para>
</summary>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the contract.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ContractDescription (string name, string ns);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string name, string ns) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="ns" Type="System.String" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The namespace can be an empty string ("").</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.ContractDescription" /> class with a namespace-qualified name specified.</para>
</summary>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the contract.</param>
<param name="ns">
<attribution license="cc4" from="Microsoft" modified="false" />The namespace that contains the name of the contract.</param>
</Docs>
</Member>
<Member MemberName="Behaviors">
<MemberSignature Language="C#" Value="public System.Collections.Generic.KeyedByTypeCollection&lt;System.ServiceModel.Description.IContractBehavior&gt; Behaviors { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.KeyedByTypeCollection`1&lt;class System.ServiceModel.Description.IContractBehavior&gt; Behaviors" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.Generic.KeyedByTypeCollection&lt;System.ServiceModel.Description.IContractBehavior&gt;</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the behaviors associated with the contract description.</para>
</summary>
</Docs>
</Member>
<Member MemberName="CallbackContractType">
<MemberSignature Language="C#" Value="public Type CallbackContractType { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type CallbackContractType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:System.ServiceModel.Description.ContractDescription.CallbackContractType" /> property is not serializable, so it is only available when the description is bound to runtime. It cannot be imported or exported as part of the metadata.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the type of callback contract that the contract description specifies.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ConfigurationName">
<MemberSignature Language="C#" Value="public string ConfigurationName { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string ConfigurationName" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the configuration name for the contract description.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ContractBehaviors">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.KeyedCollection&lt;Type,System.ServiceModel.Description.IContractBehavior&gt; ContractBehaviors { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.ObjectModel.KeyedCollection`2&lt;class System.Type, class System.ServiceModel.Description.IContractBehavior&gt; ContractBehaviors" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.KeyedCollection&lt;System.Type,System.ServiceModel.Description.IContractBehavior&gt;</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the collection of behavior for the contract.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ContractType">
<MemberSignature Language="C#" Value="public Type ContractType { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type ContractType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:System.ServiceModel.Description.ContractDescription.ContractType" /> property is not serializable, so it is only available when the description is bound to runtime. It cannot be imported or exported as part of the metadata.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the contract type that the contract description specifies.</para>
</summary>
</Docs>
</Member>
<Member MemberName="GetContract">
<MemberSignature Language="C#" Value="public static System.ServiceModel.Description.ContractDescription GetContract (Type contractType);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Description.ContractDescription GetContract(class System.Type contractType) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.ContractDescription</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="contractType" Type="System.Type" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The difference between the <see cref="Overload:System.ServiceModel.Description.ContractDescription.GetContract" /> overloads is that the ones with two arguments allow you to find attributes from the service (for example, <see cref="T:System.ServiceModel.OperationBehaviorAttribute" />).</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the contract description for a specified type of contract.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.ContractDescription" /> for the specified type of contract.</para>
</returns>
<param name="contractType">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of contract.</param>
</Docs>
</Member>
<Member MemberName="GetContract">
<MemberSignature Language="C#" Value="public static System.ServiceModel.Description.ContractDescription GetContract (Type contractType, object serviceImplementation);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Description.ContractDescription GetContract(class System.Type contractType, object serviceImplementation) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.ContractDescription</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="contractType" Type="System.Type" />
<Parameter Name="serviceImplementation" Type="System.Object" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The difference between the <see cref="Overload:System.ServiceModel.Description.ContractDescription.GetContract" /> overloads is that the ones with two arguments allow you to find attributes from the service (for example, <see cref="T:System.ServiceModel.OperationBehaviorAttribute" />).</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the contract description for a specified type of contract and service implementation.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.ContractDescription" /> for the specified type of contract and service implementation.</para>
</returns>
<param name="contractType">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of contract.</param>
<param name="serviceImplementation">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Object" /> that implements the service.</param>
</Docs>
</Member>
<Member MemberName="GetContract">
<MemberSignature Language="C#" Value="public static System.ServiceModel.Description.ContractDescription GetContract (Type contractType, Type serviceType);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Description.ContractDescription GetContract(class System.Type contractType, class System.Type serviceType) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.ContractDescription</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="contractType" Type="System.Type" />
<Parameter Name="serviceType" Type="System.Type" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The difference between the <see cref="Overload:System.ServiceModel.Description.ContractDescription.GetContract" /> overloads is that the ones with two arguments allow you to find attributes from the service (for example, <see cref="T:System.ServiceModel.OperationBehaviorAttribute" />).</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the contract description for a specified type of contract and a specified type of service.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.ContractDescription" /> for the specified type of contract and type of service.</para>
</returns>
<param name="contractType">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of contract.</param>
<param name="serviceType">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> of service.</param>
</Docs>
</Member>
<Member MemberName="GetInheritedContracts">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.ContractDescription&gt; GetInheritedContracts ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.ObjectModel.Collection`1&lt;class System.ServiceModel.Description.ContractDescription&gt; GetInheritedContracts() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.ContractDescription&gt;</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns a collection of contract descriptions that are inherited by the current contract description.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.Collections.ObjectModel.Collection`1" /> of type <see cref="T:System.ServiceModel.Description.ContractDescription" /> that is inherited by the current contract description.</para>
</returns>
</Docs>
</Member>
<Member MemberName="HasProtectionLevel">
<MemberSignature Language="C#" Value="public bool HasProtectionLevel { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool HasProtectionLevel" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When the <see cref="P:System.ServiceModel.Description.ContractDescription.ProtectionLevel" /> is set, the <see cref="P:System.ServiceModel.Description.ContractDescription.HasProtectionLevel" /> property is set to true.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value that indicates whether the contract has had a protection level set.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Name">
<MemberSignature Language="C#" Value="public string Name { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Name" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the name of the contract.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Namespace">
<MemberSignature Language="C#" Value="public string Namespace { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Namespace" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The namespace can be an empty string ("").</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the namespace for the contract.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Operations">
<MemberSignature Language="C#" Value="public System.ServiceModel.Description.OperationDescriptionCollection Operations { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Description.OperationDescriptionCollection Operations" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.OperationDescriptionCollection</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the collection of operation descriptions associated with the contract.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ProtectionLevel">
<MemberSignature Language="C#" Value="public System.Net.Security.ProtectionLevel ProtectionLevel { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Net.Security.ProtectionLevel ProtectionLevel" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Net.Security.ProtectionLevel</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When the <see cref="P:System.ServiceModel.Description.ContractDescription.ProtectionLevel" /> is set, the <see cref="P:System.ServiceModel.Description.ContractDescription.HasProtectionLevel" /> property is set to true.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the level of security protection associated with the contract.</para>
</summary>
</Docs>
</Member>
<Member MemberName="SessionMode">
<MemberSignature Language="C#" Value="public System.ServiceModel.SessionMode SessionMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.ServiceModel.SessionMode SessionMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.SessionMode</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A reliable session is a way of correlating a set of messages exchanged between two or more endpoints (using the <see cref="http://go.microsoft.com/fwlink/?LinkId=96680">WS-ReliableMessaging</see> specification) to provide assurances of the reliability of the connection. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a value that indicates whether a session is required by the contract.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="DataContractSerializerMessageContractImporter" FullName="System.ServiceModel.Description.DataContractSerializerMessageContractImporter">
<TypeSignature Language="C#" Value="public class DataContractSerializerMessageContractImporter : System.ServiceModel.Description.IWsdlImportExtension" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DataContractSerializerMessageContractImporter extends System.Object implements class System.ServiceModel.Description.IWsdlImportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Description.IWsdlImportExtension</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.DataContractSerializerMessageContractImporter" /> is invoked by the <see cref="T:System.ServiceModel.Description.WsdlImporter" /> when converting a WSDL description. It examines the WSDL documents and generates an in-memory description to be used later for code generation. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Handles the importation of data contract messages from WSDL documents.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DataContractSerializerMessageContractImporter ();" />
<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>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.DataContractSerializerMessageContractImporter" /> class. </para>
</summary>
</Docs>
</Member>
<Member MemberName="Enabled">
<MemberSignature Language="C#" Value="public bool Enabled { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Enabled" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a value that specifies whether importation of messages is enabled.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IWsdlImportExtension.BeforeImport">
<MemberSignature Language="C#" Value="void IWsdlImportExtension.BeforeImport (System.Web.Services.Description.ServiceDescriptionCollection wsdlDocuments, System.Xml.Schema.XmlSchemaSet xmlSchemas, System.Collections.Generic.ICollection&lt;System.Xml.XmlElement&gt; policy);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IWsdlImportExtension.BeforeImport(class System.Web.Services.Description.ServiceDescriptionCollection wsdlDocuments, class System.Xml.Schema.XmlSchemaSet xmlSchemas, class System.Collections.Generic.ICollection`1&lt;class System.Xml.XmlElement&gt; policy) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="wsdlDocuments" Type="System.Web.Services.Description.ServiceDescriptionCollection" />
<Parameter Name="xmlSchemas" Type="System.Xml.Schema.XmlSchemaSet" />
<Parameter Name="policy" Type="System.Collections.Generic.ICollection&lt;System.Xml.XmlElement&gt;" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies a service description and schema set to use when importing a set of WSDL documents.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies a service description and schema set to use when importing a set of WSDL documents.</para>
</summary>
<param name="wsdlDocuments">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Web.Services.Description.ServiceDescriptionCollection" /> that represents the WSDL documents to inspect.</param>
<param name="xmlSchemas">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.Schema.XmlSchemaSet" /> that represents the schemas to use when converting messages.</param>
<param name="policy">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Collections.Generic.ICollection`1" /> that contains the policy documents to use when importing messages.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IWsdlImportExtension.ImportContract">
<MemberSignature Language="C#" Value="void IWsdlImportExtension.ImportContract (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlContractConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IWsdlImportExtension.ImportContract(class System.ServiceModel.Description.WsdlImporter importer, class System.ServiceModel.Description.WsdlContractConversionContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="importer" Type="System.ServiceModel.Description.WsdlImporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlContractConversionContext" />
</Parameters>
<Docs>
<param name="context">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Imports a message contract from a WSDL document.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Imports a message contract from a WSDL document.</para>
</summary>
<param name="importer">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Description.WsdlImporter" /> to use when importing.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint">
<MemberSignature Language="C#" Value="void IWsdlImportExtension.ImportEndpoint (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlEndpointConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(class System.ServiceModel.Description.WsdlImporter importer, class System.ServiceModel.Description.WsdlEndpointConversionContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="importer" Type="System.ServiceModel.Description.WsdlImporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlEndpointConversionContext" />
</Parameters>
<Docs>
<param name="context">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Converts the WSDL document from a specified endpoint.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Converts the WSDL document from a specified endpoint.</para>
</summary>
<param name="importer">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.WsdlImporter" /> to use when importing.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,406 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="DataContractSerializerOperationBehavior" FullName="System.ServiceModel.Description.DataContractSerializerOperationBehavior">
<TypeSignature Language="C#" Value="public class DataContractSerializerOperationBehavior : System.ServiceModel.Description.IOperationBehavior, System.ServiceModel.Description.IWsdlExportExtension" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DataContractSerializerOperationBehavior extends System.Object implements class System.ServiceModel.Description.IOperationBehavior, class System.ServiceModel.Description.IWsdlExportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.Description.IOperationBehavior</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.ServiceModel.Description.IWsdlExportExtension</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.DataContractSerializerOperationBehavior" /> enables the control of <see cref="T:System.Runtime.Serialization.DataContractSerializer" /> options, such as the <see cref="P:System.Runtime.Serialization.DataContractSerializer.MaxItemsInObjectGraph" /> and <see cref="P:System.Runtime.Serialization.DataContractSerializer.IgnoreExtensionDataObject" /> properties. Some of these properties can be set only using the constructor of the class. In that case, the <see cref="T:System.Runtime.Serialization.DataContractSerializer" /> can be replaced using the <see cref="Overload:System.ServiceModel.Description.DataContractSerializerOperationBehavior.CreateSerializer" /> method. crabout data contracts, see <format type="text/html"><a href="a3ae7b21-c15c-4c05-abd8-f483bcbf31af">Using Data Contracts</a></format>.</para>
<para>crabout using the <see cref="T:System.ServiceModel.Description.DataContractSerializerOperationBehavior" /> to replace the <see cref="T:System.Runtime.Serialization.IDataContractSurrogate" /> returned by the <see cref="P:System.ServiceModel.Description.DataContractSerializerOperationBehavior.DataContractSurrogate" /> property, see <format type="text/html"><a href="8c31134c-46c5-4ed7-94af-bab0ac0dfce5">Data Contract Surrogates</a></format>.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Represents the run-time behavior of the <see cref="T:System.Runtime.Serialization.DataContractSerializer" />.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DataContractSerializerOperationBehavior (System.ServiceModel.Description.OperationDescription operation);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ServiceModel.Description.OperationDescription operation) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="operation" Type="System.ServiceModel.Description.OperationDescription" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.DataContractSerializerOperationBehavior" /> class with the specified operation description.</para>
</summary>
<param name="operation">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Description.OperationDescription" /> that represents the operation.</param>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public DataContractSerializerOperationBehavior (System.ServiceModel.Description.OperationDescription operation, System.ServiceModel.DataContractFormatAttribute dataContractFormatAttribute);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ServiceModel.Description.OperationDescription operation, class System.ServiceModel.DataContractFormatAttribute dataContractFormatAttribute) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="operation" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="dataContractFormatAttribute" Type="System.ServiceModel.DataContractFormatAttribute" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.DataContractSerializerOperationBehavior" /> class with the specified operation description and data contract format.</para>
</summary>
<param name="operation">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Description.OperationDescription" /> that represents the operation.</param>
<param name="dataContractFormatAttribute">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.DataContractFormatAttribute" /> that is used to control the serialization process.</param>
</Docs>
</Member>
<Member MemberName="CreateSerializer">
<MemberSignature Language="C#" Value="public virtual System.Runtime.Serialization.XmlObjectSerializer CreateSerializer (Type type, string name, string ns, System.Collections.Generic.IList&lt;Type&gt; knownTypes);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Runtime.Serialization.XmlObjectSerializer CreateSerializer(class System.Type type, string name, string ns, class System.Collections.Generic.IList`1&lt;class System.Type&gt; knownTypes) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Serialization.XmlObjectSerializer</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
<Parameter Name="name" Type="System.String" />
<Parameter Name="ns" Type="System.String" />
<Parameter Name="knownTypes" Type="System.Collections.Generic.IList&lt;System.Type&gt;" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Both the <see cref="T:System.Runtime.Serialization.NetDataContractSerializer" /> and the <see cref="T:System.Runtime.Serialization.DataContractSerializer" /> inherit from the <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> class. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates an instance of a class that inherits from <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> for serialization and deserialization processes.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An instance of a class that inherits from the <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> class. </para>
</returns>
<param name="type">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Type" /> to create the serializer for.</param>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the generated type.</param>
<param name="ns">
<attribution license="cc4" from="Microsoft" modified="false" />The namespace of the generated type.</param>
<param name="knownTypes">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.Generic.IList`1" /> of <see cref="T:System.Type" /> that contains known types.</param>
</Docs>
</Member>
<Member MemberName="CreateSerializer">
<MemberSignature Language="C#" Value="public virtual System.Runtime.Serialization.XmlObjectSerializer CreateSerializer (Type type, System.Xml.XmlDictionaryString name, System.Xml.XmlDictionaryString ns, System.Collections.Generic.IList&lt;Type&gt; knownTypes);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Runtime.Serialization.XmlObjectSerializer CreateSerializer(class System.Type type, class System.Xml.XmlDictionaryString name, class System.Xml.XmlDictionaryString ns, class System.Collections.Generic.IList`1&lt;class System.Type&gt; knownTypes) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Serialization.XmlObjectSerializer</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="type" Type="System.Type" />
<Parameter Name="name" Type="System.Xml.XmlDictionaryString" />
<Parameter Name="ns" Type="System.Xml.XmlDictionaryString" />
<Parameter Name="knownTypes" Type="System.Collections.Generic.IList&lt;System.Type&gt;" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Both the <see cref="T:System.Runtime.Serialization.DataContractSerializer" /> and the <see cref="T:System.Runtime.Serialization.NetDataContractSerializer" /> inherit from the <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> class. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates an instance of a class that inherits from <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> for serialization and deserialization processes with an <see cref="T:System.Xml.XmlDictionaryString" /> that contains the namespace.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An instance of a class that inherits from the <see cref="T:System.Runtime.Serialization.XmlObjectSerializer" /> class. </para>
</returns>
<param name="type">
<attribution license="cc4" from="Microsoft" modified="false" />The type to serialize or deserialize.</param>
<param name="name">
<attribution license="cc4" from="Microsoft" modified="false" />The name of the serialized type.</param>
<param name="ns">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Xml.XmlDictionaryString" /> that contains the namespace of the serialized type.</param>
<param name="knownTypes">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Collections.Generic.IList`1" /> of <see cref="T:System.Type" /> that contains known types.</param>
</Docs>
</Member>
<Member MemberName="DataContractFormatAttribute">
<MemberSignature Language="C#" Value="public System.ServiceModel.DataContractFormatAttribute DataContractFormatAttribute { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.DataContractFormatAttribute DataContractFormatAttribute" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.DataContractFormatAttribute</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the <see cref="T:System.ServiceModel.DataContractFormatAttribute" /> associated with the operation.</para>
</summary>
</Docs>
</Member>
<Member MemberName="DataContractResolver">
<MemberSignature Language="C#" Value="public System.Runtime.Serialization.DataContractResolver DataContractResolver { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Serialization.DataContractResolver DataContractResolver" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Serialization.DataContractResolver</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>For more information, see the <see cref="T:System.Runtime.Serialization.DataContractResolver" /> class document.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets an implementation of the <see cref="T:System.Runtime.Serialization.DataContractResolver" /> that is used to dynamically map types during serialization and deserialization processes. </para>
</summary>
</Docs>
</Member>
<Member MemberName="DataContractSurrogate">
<MemberSignature Language="C#" Value="public System.Runtime.Serialization.IDataContractSurrogate DataContractSurrogate { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.Serialization.IDataContractSurrogate DataContractSurrogate" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Runtime.Serialization.IDataContractSurrogate</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a surrogate to be used during the serialization and deserialization processes.</para>
</summary>
</Docs>
</Member>
<Member MemberName="IgnoreExtensionDataObject">
<MemberSignature Language="C#" Value="public bool IgnoreExtensionDataObject { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IgnoreExtensionDataObject" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When set to true, the extra data is returned with any other serialized data. crdefault the <see cref="T:System.Runtime.Serialization.IExtensibleDataObject" /> interface.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets a value that specifies whether the data provided by an extension of a type (and therefore not in the data contract) is ignored or not.</para>
</summary>
</Docs>
</Member>
<Member MemberName="MaxItemsInObjectGraph">
<MemberSignature Language="C#" Value="public int MaxItemsInObjectGraph { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 MaxItemsInObjectGraph" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the maximum number of items in the object graph to serialize or deserialize.</para>
</summary>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IOperationBehavior.AddBindingParameters">
<MemberSignature Language="C#" Value="void IOperationBehavior.AddBindingParameters (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Adds a collection of parameters to the behavior. </para>
</summary>
<param name="description">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.OperationDescription" /> to add the parameters to.</param>
<param name="parameters">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingParameterCollection" /> that contains the parameters to add.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior">
<MemberSignature Language="C#" Value="void IOperationBehavior.ApplyClientBehavior (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Dispatcher.ClientOperation proxy);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Dispatcher.ClientOperation proxy) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="proxy" Type="System.ServiceModel.Dispatcher.ClientOperation" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Attaches a client behavior to the operation.</para>
</summary>
<param name="description">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.OperationDescription" /> that represents the operation.</param>
<param name="proxy">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" /> that represents a client.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="void IOperationBehavior.ApplyDispatchBehavior (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Dispatcher.DispatchOperation dispatch);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Dispatcher.DispatchOperation dispatch) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="dispatch" Type="System.ServiceModel.Dispatcher.DispatchOperation" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Applies the behavior to the operation.</para>
</summary>
<param name="description">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Description.OperationDescription" /> that represents the operation.</param>
<param name="dispatch">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" /> to attach the behavior to.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IOperationBehavior.Validate">
<MemberSignature Language="C#" Value="void IOperationBehavior.Validate (System.ServiceModel.Description.OperationDescription description);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IOperationBehavior.Validate(class System.ServiceModel.Description.OperationDescription description) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Validates the operation.</para>
</summary>
<param name="description">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Description.OperationDescription" /> that represents the operation to validate.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IWsdlExportExtension.ExportContract">
<MemberSignature Language="C#" Value="void IWsdlExportExtension.ExportContract (System.ServiceModel.Description.WsdlExporter exporter, System.ServiceModel.Description.WsdlContractConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IWsdlExportExtension.ExportContract(class System.ServiceModel.Description.WsdlExporter exporter, class System.ServiceModel.Description.WsdlContractConversionContext context) 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.WsdlExporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlContractConversionContext" />
</Parameters>
<Docs>
<param name="context">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Exports the WSDL representation of the operation.</para>
</summary>
<param name="exporter">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Description.WsdlExporter" /> to use for the export.</param>
</Docs>
</Member>
<Member MemberName="System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint">
<MemberSignature Language="C#" Value="void IWsdlExportExtension.ExportEndpoint (System.ServiceModel.Description.WsdlExporter exporter, System.ServiceModel.Description.WsdlEndpointConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint(class System.ServiceModel.Description.WsdlExporter exporter, class System.ServiceModel.Description.WsdlEndpointConversionContext context) 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.WsdlExporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlEndpointConversionContext" />
</Parameters>
<Docs>
<param name="context">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Exports the endpoint description as a WSDL document.</para>
</summary>
<param name="exporter">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Description.WsdlExporter" /> to use for the export.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,178 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="FaultDescription" FullName="System.ServiceModel.Description.FaultDescription">
<TypeSignature Language="C#" Value="public class FaultDescription" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FaultDescription extends System.Object" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.Diagnostics.DebuggerDisplay("Name={name}, Action={action}, DetailType={detailType}")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.FaultDescription" /> class represents a SOAP fault in a service contract and is used to create a runtime when a indigo1 service or client application is started.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Represents a SOAP fault.</para>
</summary>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public FaultDescription (string action);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string action) cil managed" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="action" Type="System.String" />
</Parameters>
<Docs>
<param name="action">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates a <see cref="T:System.ServiceModel.Description.FaultDescription" /> object using the specified <paramref name="action" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Initializes a new instance of the <see cref="T:System.ServiceModel.Description.FaultDescription" /> class using the specified action value.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Action">
<MemberSignature Language="C#" Value="public string Action { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Action" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="P:System.ServiceModel.Description.FaultDescription.Action" /> property to get or set the action of the fault message.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The value of the action in the SOAP fault message.</para>
</summary>
</Docs>
</Member>
<Member MemberName="DetailType">
<MemberSignature Language="C#" Value="public Type DetailType { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type DetailType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The detail type must be serializable. For details, see <see cref="T:System.ServiceModel.FaultContractAttribute" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The type of the SOAP fault detail.</para>
</summary>
</Docs>
</Member>
<Member MemberName="HasProtectionLevel">
<MemberSignature Language="C#" Value="public bool HasProtectionLevel { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool HasProtectionLevel" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="P:System.ServiceModel.ServiceContractAttribute.HasProtectionLevel" /> property indicates whether the <see cref="P:System.ServiceModel.Description.FaultDescription.ProtectionLevel" /> property has been set for the <see cref="T:System.ServiceModel.Description.FaultDescription" />. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets a value that indicates whether the fault message has a protection level assigned.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Name">
<MemberSignature Language="C#" Value="public string Name { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Name" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the name of the SOAP fault.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Namespace">
<MemberSignature Language="C#" Value="public string Namespace { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Namespace" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets or sets the namespace of the SOAP fault.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ProtectionLevel">
<MemberSignature Language="C#" Value="public System.Net.Security.ProtectionLevel ProtectionLevel { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Net.Security.ProtectionLevel ProtectionLevel" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Net.Security.ProtectionLevel</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="P:System.ServiceModel.Description.FaultDescription.ProtectionLevel" /> property to specify the degree to which the binding must encrypt, sign, or both when sending the SOAP fault. If a binding supports a higher protection level than required by this property, indigo1 may disable the unnecessary protection if it is able to do so.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the level of protection the SOAP fault requires from the binding.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="FaultDescriptionCollection" FullName="System.ServiceModel.Description.FaultDescriptionCollection">
<TypeSignature Language="C#" Value="public class FaultDescriptionCollection : System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.FaultDescription&gt;" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit FaultDescriptionCollection extends System.Collections.ObjectModel.Collection`1&lt;class System.ServiceModel.Description.FaultDescription&gt;" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.FaultDescription&gt;</BaseTypeName>
<BaseTypeArguments>
<BaseTypeArgument TypeParamName="!0">System.ServiceModel.Description.FaultDescription</BaseTypeArgument>
</BaseTypeArguments>
</Base>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="M:System.ServiceModel.Description.FaultDescriptionCollection.Find(System.String)" /> and <see cref="M:System.ServiceModel.Description.FaultDescriptionCollection.FindAll(System.String)" /> methods to retrieve a <see cref="T:System.ServiceModel.Description.FaultDescription" /> or group of <see cref="T:System.ServiceModel.Description.FaultDescription" /> objects.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Represents a collection of <see cref="T:System.ServiceModel.Description.FaultDescription" /> objects that you can use to obtain information about SOAP faults in a contract.</para>
</summary>
</Docs>
<Members>
<Member MemberName="Find">
<MemberSignature Language="C#" Value="public System.ServiceModel.Description.FaultDescription Find (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ServiceModel.Description.FaultDescription Find(string name) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Description.FaultDescription</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<param name="name">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the <see cref="T:System.ServiceModel.Description.FaultDescription" /> object that has the specified action value.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="T:System.ServiceModel.Description.FaultDescription" /> object that has the specified action, or null. If more than one <see cref="T:System.ServiceModel.Description.FaultDescription" /> object has the same action, the first one in the collection is returned.</para>
</returns>
</Docs>
</Member>
<Member MemberName="FindAll">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.FaultDescription&gt; FindAll (string name);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.ObjectModel.Collection`1&lt;class System.ServiceModel.Description.FaultDescription&gt; FindAll(string name) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.FaultDescription&gt;</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="name" Type="System.String" />
</Parameters>
<Docs>
<param name="name">To be added.</param>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns all <see cref="T:System.ServiceModel.Description.FaultDescription" /> objects that have the specified action value.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A collection of <see cref="T:System.ServiceModel.Description.FaultDescription" /> objects that have the specified action. If there are no <see cref="T:System.ServiceModel.Description.FaultDescription" /> objects with the action, an empty collection is returned.</para>
</returns>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IContractBehavior" FullName="System.ServiceModel.Description.IContractBehavior">
<TypeSignature Language="C#" Value="public interface IContractBehavior" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IContractBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IContractBehavior" /> interface to modify, examine, or extend some aspect of contract-wide execution at the application level. Unlike <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> and <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> objects, <see cref="T:System.ServiceModel.Description.IContractBehavior" /> objects cannot be added to the runtime using an application configuration file; they can only be added programmatically or using an attribute.</para>
<para>For more information about choosing between service, endpoint, and contract behaviors, see <format type="text/html"><a href="149b99b6-6eb6-4f45-be22-c967279677d9">Attaching Extensions Using Behaviors</a></format>.</para>
<list type="bullet">
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IContractBehavior.AddBindingParameters(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to provide binding elements with custom data to support the behavior.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyClientBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method to modify, examine, or insert extensions to a contract in a client application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.DispatchRuntime)" /> method to modify, examine, or insert extensions to a contract in a service application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IContractBehavior.Validate(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint)" /> method to ensure that a contract can support a particular feature.</para>
</item>
</list>
<para>
<see cref="T:System.ServiceModel.Description.IContractBehavior" /> objects can make use of any of these methods, but often only one is important; in such cases, the unused methods can return without any value.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IContractBehavior" /> methods pass <see cref="T:System.ServiceModel.Description.ContractDescription" /> and <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> as parameters. These parameters are for examination; if you modify the objects the execution behavior is undefined.</para>
</block>
<para>
<see cref="T:System.ServiceModel.Description.IContractBehavior" /> types can be used on either the service or the client, or both. To perform a customization task on the service, the <see cref="T:System.ServiceModel.Description.IContractBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> property prior to the construction of the service runtime, which occurs when the <see cref="M:System.ServiceModel.ICommunicationObject.Open" /> method is called on the <see cref="T:System.ServiceModel.ServiceHost" /> object. There are two ways to do this.</para>
<para>The first method is to programmatically add the custom contract behavior to the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> property prior to the point when the <see cref="M:System.ServiceModel.ICommunicationObject.Open" /> method is called on the <see cref="T:System.ServiceModel.ServiceHost" /> object. When applied this way, the behavior is applied for all messages flowing through that contract on any endpoint. </para>
<block subset="none" type="note">
<para>The behavior is applied to all contracts of the same type. For example, if you programmatically add the same contract type to more than one endpoint, the behavior modifies all endpoints that refer to the same contract object.</para>
</block>
<para>The second method is to create a custom attribute that implements <see cref="T:System.ServiceModel.Description.IContractBehavior" /> and apply that to:</para>
<list type="bullet">
<item>
<para>A contract interface. In this case, the behavior is applied to all contracts of that type in any endpoint. </para>
</item>
<item>
<para>A service class. In this case, the behavior is applied to all endpoints regardless of contract.</para>
</item>
<item>
<para>A callback class. In this case, the behavior is applied to the duplex client's endpoint.</para>
</item>
</list>
<para>The behavior of the second approach varies slightly if the custom attribute also implements <see cref="T:System.ServiceModel.Description.IContractBehaviorAttribute" />. In this case, the behavior is as follows: </para>
<list type="bullet">
<item>
<para>A contract interface. In this case, the behavior is applied to all contracts of that type in any endpoint and indigo1 ignores the value of the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property. </para>
</item>
<item>
<para>A service class. In this case, the behavior is applied only to endpoints the contract of which is the value of the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property.</para>
</item>
<item>
<para>A callback class. In this case, the behavior is applied to the duplex client's endpoint and indigo2 ignores the value of the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property.</para>
</item>
</list>
<para>To perform the customization task on the client for which it is intended, the <see cref="T:System.ServiceModel.Description.IContractBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> property prior to the construction of the client runtime, which occurs when <see cref="M:System.ServiceModel.ChannelFactory`1.CreateChannel" /> is called. There are two ways to do this:</para>
<list type="bullet">
<item>
<para>Programmatically add the custom contract behavior to the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> property prior to the point when the <see cref="M:System.ServiceModel.ChannelFactory`1.CreateChannel" /> is called.</para>
</item>
<item>
<para>Create a custom attribute that also implements <see cref="T:System.ServiceModel.Description.IContractBehavior" />. </para>
</item>
</list>
<para>For more information on programmatically adding <see cref="T:System.ServiceModel.Description.IContractBehavior" /> types to either the client or service application, see <format type="text/html"><a href="149b99b6-6eb6-4f45-be22-c967279677d9">Attaching Extensions Using Behaviors</a></format>.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements methods that can be used to extend run-time behavior for a contract in either a service or client application.</para>
</summary>
</Docs>
<Members>
<Member MemberName="AddBindingParameters">
<MemberSignature Language="C#" Value="public void AddBindingParameters (System.ServiceModel.Description.ContractDescription description, System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddBindingParameters(class System.ServiceModel.Description.ContractDescription description, class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ContractDescription" />
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IContractBehavior.AddBindingParameters(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to provide binding elements with the extra objects they require to support the contract behavior.</para>
<para>This method is called once for each endpoint that uses the specified service contract.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Configures any binding elements to support the contract behavior.</para>
</summary>
<param name="endpoint">
<attribution license="cc4" from="Microsoft" modified="false" />The endpoint to modify.</param>
</Docs>
</Member>
<Member MemberName="ApplyClientBehavior">
<MemberSignature Language="C#" Value="public void ApplyClientBehavior (System.ServiceModel.Description.ContractDescription description, System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.ClientRuntime proxy);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyClientBehavior(class System.ServiceModel.Description.ContractDescription description, class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.ClientRuntime proxy) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ContractDescription" />
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="proxy" Type="System.ServiceModel.Dispatcher.ClientRuntime" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="proxy">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyClientBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method to view, modify, or add custom extensions to the client runtime across all messages or for one specific operation. For details about what customizations you can do with a client run-time object, see <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" />.</para>
<para>The <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyClientBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method can throw a <see cref="T:System.NotImplementedException" /> exception if the behavior is only intended for use in a service application.</para>
<para>This method is called once for each endpoint that uses the specified service contract.</para>
<para>Note that there can be two operations with the same name in the description (one in each direction), so if you must iterate through operations where the contract is a duplex contract, you must correlate the message direction between the endpoint <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> and that returned by the <see cref="P:System.ServiceModel.Dispatcher.ClientRuntime.CallbackDispatchRuntime" /> property.</para>
<para>Because other behaviors may have already added or removed some operations from the runtime, there is no guarantee that there are the same number of operations in the description as there are <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" /> objects in the <see cref="P:System.ServiceModel.Dispatcher.ClientRuntime.Operations" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the client across a contract.</para>
</summary>
<param name="endpoint">
<attribution license="cc4" from="Microsoft" modified="false" />The endpoint.</param>
</Docs>
</Member>
<Member MemberName="ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="public void ApplyDispatchBehavior (System.ServiceModel.Description.ContractDescription description, System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.DispatchRuntime dispatch);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyDispatchBehavior(class System.ServiceModel.Description.ContractDescription description, class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Dispatcher.DispatchRuntime dispatch) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ContractDescription" />
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="dispatch" Type="System.ServiceModel.Dispatcher.DispatchRuntime" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="dispatch">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.DispatchRuntime)" /> to view, modify, or add custom extensions to the service runtime across all messages in a specific contract or for one specific operation in that contract. For details about what customizations you can perform in a service application, see <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" />.</para>
<para>The <see cref="M:System.ServiceModel.Description.IContractBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.DispatchRuntime)" /> method can throw a <see cref="T:System.NotImplementedException" /> exception if the behavior is only intended for use in a client application.</para>
<para>This method is called once for each endpoint that uses the specified service contract.</para>
<para>Note that there can be two operations with the same name in the description (one in each direction), so if you must iterate through operations where the contract is a duplex contract, you must correlate the message direction between the endpoint <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" /> and that returned by the <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.CallbackClientRuntime" /> property.</para>
<para>In addition, because other behaviors may have already added or removed some operations from the runtime, there is no guarantee that there are the same number of operations in description as there are <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" /> objects in the <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.Operations" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the client across a contract.</para>
</summary>
<param name="endpoint">
<attribution license="cc4" from="Microsoft" modified="false" />The endpoint that exposes the contract.</param>
</Docs>
</Member>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public void Validate (System.ServiceModel.Description.ContractDescription description, System.ServiceModel.Description.ServiceEndpoint endpoint);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Validate(class System.ServiceModel.Description.ContractDescription description, class System.ServiceModel.Description.ServiceEndpoint endpoint) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ContractDescription" />
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IContractBehavior.Validate(System.ServiceModel.Description.ContractDescription,System.ServiceModel.Description.ServiceEndpoint)" /> method to confirm that the contract description is sufficient to support the custom contract behavior. Implementations can inspect the description and either throw or return no value.</para>
<para>This method is called once for each endpoint that uses the specified service contract.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to confirm that the contract and endpoint can support the contract behavior.</para>
</summary>
<param name="endpoint">
<attribution license="cc4" from="Microsoft" modified="false" />The endpoint to validate.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IContractBehaviorAttribute" FullName="System.ServiceModel.Description.IContractBehaviorAttribute">
<TypeSignature Language="C#" Value="public interface IContractBehaviorAttribute" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IContractBehaviorAttribute" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IContractBehaviorAttribute" /> interface on an attribute that is also an <see cref="T:System.ServiceModel.Description.IContractBehavior" /> object to enable the use of that contract behavior attribute on a service type but restrict its application to the contract specified in the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property.</para>
<para>There is no requirement to implement <see cref="T:System.ServiceModel.Description.IContractBehaviorAttribute" /> on custom contract behavior attributes, and if the attribute is applied either to a contract interface or to a duplex callback class the value of the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property is ignored. </para>
<para>For more information, see <see cref="T:System.ServiceModel.Description.IContractBehavior" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Specifies the contract for which an attribute that implements the <see cref="T:System.ServiceModel.Description.IContractBehavior" /> interface is active.</para>
</summary>
</Docs>
<Members>
<Member MemberName="TargetContract">
<MemberSignature Language="C#" Value="public Type TargetContract { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type TargetContract" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<value>To be added.</value>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="P:System.ServiceModel.Description.IContractBehaviorAttribute.TargetContract" /> property to specify the contract to which the contract behavior is applied when the implementing <see cref="T:System.ServiceModel.Description.IContractBehavior" /> attribute is applied to a service class.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the type of the contract to which the contract behavior is applicable.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IEndpointBehavior" FullName="System.ServiceModel.Description.IEndpointBehavior">
<TypeSignature Language="C#" Value="public interface IEndpointBehavior" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IEndpointBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> interface to modify, examine, or extend some aspect of endpoint-wide execution at the application level for either client or service applications.</para>
<list type="bullet">
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to pass custom data at runtime to enable bindings to support custom behavior.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method to modify, examine, or insert extensions to an endpoint in a client application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.EndpointDispatcher)" /> method to modify, examine, or insert extensions to endpoint-wide execution in a service application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.Validate(System.ServiceModel.Description.ServiceEndpoint)" /> method to confirm that a <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> meets specific requirements. This can be used to ensure that an endpoint has a certain configuration setting enabled, supports a particular feature and other requirements.</para>
</item>
</list>
<para>
<see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> objects can make use of any of these methods, but often only one is important; in such cases, the unused methods can return, performing no action.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> methods pass a <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> object as a parameter. This parameter is for examination only; if you modify the <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> object the execution behavior is undefined.</para>
</block>
<para>
<see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> objects are typically used to access the various properties of the <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" />, <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" />, <see cref="T:System.ServiceModel.Dispatcher.EndpointDispatcher" />, and <see cref="T:System.ServiceModel.Dispatcher.ChannelDispatcher" /> objects in a service application and the <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" /> in a client application. In addition, you can access the properties of duplex clients and services using the <see cref="P:System.ServiceModel.Dispatcher.ClientRuntime.CallbackDispatchRuntime" /> and <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.CallbackClientRuntime" /> properties, respectively.</para>
<para>For a description of the various properties and customizations available, see <format type="text/html"><a href="954c138a-1cd0-45a0-8abe-e4d2b8ff5400">Extending ServiceHost and the Dispatcher</a></format>.</para>
<para>Once a customization has been decided upon (and the customization interface implemented if necessary) and the <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> has been decided is the appropriate scope of customization, the customization must be inserted into the indigo1 runtime by implementing <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> and adding the endpoint behavior to the runtime.</para>
<para>There are two ways to add the behavior to the runtime:</para>
<list type="bullet">
<item>
<para>Programmatically add the custom endpoint behavior to the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Behaviors" /> property prior to the opening of the service host (in a service application) or the channel factory (in a client application).</para>
</item>
<item>
<para>Configure the behavior using an application configuration file. For details, see <format type="text/html"><a href="59f2791a-c78f-40d7-aa80-0d9cd10135d9">&lt;behaviorExtensions&gt;</a></format>.</para>
</item>
</list>
<para>To perform the service customization task for which it is intended, the <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Behaviors" /> property prior to the construction of the service runtime, which occurs when <see cref="Overload:System.ServiceModel.ICommunicationObject.Open" /> method is called on <see cref="T:System.ServiceModel.ServiceHost" />. To perform a client customization task, the <see cref="T:System.ServiceModel.Description.IEndpointBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Behaviors" /> property before calling the <see cref="Overload:System.ServiceModel.ChannelFactory`1.CreateChannel" /> method or the <see cref="Overload:System.ServiceModel.ICommunicationObject.Open" /> method on <see cref="T:System.ServiceModel.ChannelFactory`1" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements methods that can be used to extend run-time behavior for an endpoint in either a service or client application.</para>
</summary>
</Docs>
<Members>
<Member MemberName="AddBindingParameters">
<MemberSignature Language="C#" Value="public void AddBindingParameters (System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddBindingParameters(class System.ServiceModel.Description.ServiceEndpoint endpoint, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="endpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="parameters">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to provide binding elements with the extra objects they require to support the endpoint behavior. When binding parameters are added here the binding can locate these objects when the channel listener or channel factory is created. Typically, you implement the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Channels.BindingParameterCollection)" /> method to pass information about the endpoint to a custom binding element so that it can build a supporting channel correctly. Return no value if no modifications are required.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to pass data at runtime to bindings to support custom behavior.</para>
</summary>
<param name="endpoint">
<attribution license="cc4" from="Microsoft" modified="false" />The endpoint to modify.</param>
</Docs>
</Member>
<Member MemberName="ApplyClientBehavior">
<MemberSignature Language="C#" Value="public void ApplyClientBehavior (System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Dispatcher.ClientRuntime behavior);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyClientBehavior(class System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, class System.ServiceModel.Dispatcher.ClientRuntime behavior) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="serviceEndpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="behavior" Type="System.ServiceModel.Dispatcher.ClientRuntime" />
</Parameters>
<Docs>
<param name="serviceEndpoint">To be added.</param>
<param name="behavior">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method to view, modify, or add custom extension to the client runtime across all messages used with an endpoint or for specific operations. For details about what customizations you can do with a client run-time object, see <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" />. </para>
<para>It is recommended that the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> method throw a <see cref="T:System.NotImplementedException" /> if the behavior is only intended for use in a service application.</para>
<para>Because other behaviors may have already added or removed some operations from the runtime there is no guarantee that there are the same number of operations in the description as there are <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" /> objects in the <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.Operations" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the client across an endpoint.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="public void ApplyDispatchBehavior (System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyDispatchBehavior(class System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, class System.ServiceModel.Dispatcher.EndpointDispatcher dispatcher) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="serviceEndpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
<Parameter Name="dispatcher" Type="System.ServiceModel.Dispatcher.EndpointDispatcher" />
</Parameters>
<Docs>
<param name="serviceEndpoint">To be added.</param>
<param name="dispatcher">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.EndpointDispatcher)" /> method to view, modify, or extend the service runtime across all messages or for specific operations in an endpoint. For details about what customizations you can do in a service application, see <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" />.</para>
<para>It is recommended that the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.EndpointDispatcher)" /> method throw a <see cref="T:System.NotImplementedException" /> exception if the behavior is only intended for use in a client application. </para>
<para>Note that there can be two operations with the same name in the description when using a callback contract (one operation in each direction). If you are iterating through operations, you must correlate the message direction between the endpoint <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" /> and what is returned by the <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.CallbackClientRuntime" /> property.</para>
<para>In addition, because other behaviors may have already added or removed some operations from the runtime, there is no guarantee that there are the same number of operations in description as there are <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" /> objects in the <see cref="P:System.ServiceModel.Dispatcher.DispatchRuntime.Operations" /> property.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the service across an endpoint.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public void Validate (System.ServiceModel.Description.ServiceEndpoint serviceEndpoint);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Validate(class System.ServiceModel.Description.ServiceEndpoint serviceEndpoint) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="serviceEndpoint" Type="System.ServiceModel.Description.ServiceEndpoint" />
</Parameters>
<Docs>
<param name="serviceEndpoint">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.Validate(System.ServiceModel.Description.ServiceEndpoint)" /> method to examine the structure to confirm any set of criteria. It is not necessary to perform any customizations in <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyClientBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.ClientRuntime)" /> or <see cref="M:System.ServiceModel.Description.IEndpointBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint,System.ServiceModel.Dispatcher.EndpointDispatcher)" /> to make use of this method. If the endpoint passes validation, return; otherwise, throw an exception.</para>
<para>For example, the <see cref="M:System.ServiceModel.Description.IEndpointBehavior.Validate(System.ServiceModel.Description.ServiceEndpoint)" /> method can be use to ensure that all endpoints use an approved corporate binding.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to confirm that the endpoint meets some intended criteria.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IMetadataExchange" FullName="System.ServiceModel.Description.IMetadataExchange">
<TypeSignature Language="C#" Value="public interface IMetadataExchange" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IMetadataExchange" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName>System.ServiceModel.ServiceContract(Name="IMetadataExchange", Namespace="http://schemas.microsoft.com/2006/04/mex")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>When programming indigo1 services, it is useful to publish metadata about the service. For example, metadata can be a Web Services Description Language (WSDL) document that describes all of the methods and data types employed by a service. Returning metadata about an indigo2 service allows consumers of a service to easily create clients for the service. For more information about indigo2 metadata endpoints, see <format type="text/html"><a href="66a61bd0-18d3-4e7e-bf8b-177a10ac2f60">Metadata</a></format>.</para>
<para>Services implemented using indigo2 publish metadata by exposing one or more metadata endpoints. Metadata endpoints in indigo2 have an address, a binding and a contract like any other endpoint. The <see cref="T:System.ServiceModel.Description.MetadataReference" /> interface specifies the service contract implemented by all metadata endpoints in indigo2.</para>
<para>There is no need to implement the <see cref="T:System.ServiceModel.Description.MetadataReference" /> contract in your service implementation. Instead, add the <see cref="T:System.ServiceModel.Description.ServiceMetadataBehavior" /> to the service description. </para>
<para>Or, when using configuration, set the contract attribute of the endpoint element to IMetadataExchange. For an example, see <format type="text/html"><a href="f061443f-92df-4824-b36a-609c4cd14a17">How to: Publish Metadata for a Service Using a Configuration File</a></format>.</para>
<para>For details on publishing metadata in indigo2 see <format type="text/html"><a href="3a56831a-cabc-45c0-bd02-12e2e9bd7313">Publishing Metadata</a></format>.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Exposes methods used to return metadata about a service.</para>
</summary>
</Docs>
<Members>
<Member MemberName="BeginGet">
<MemberSignature Language="C#" Value="public IAsyncResult BeginGet (System.ServiceModel.Channels.Message request, AsyncCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginGet(class System.ServiceModel.Channels.Message request, class System.AsyncCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ServiceModel.OperationContract(Action="http://schemas.xmlsoap.org/ws/2004/09/transfer/Get", AsyncPattern=true, ReplyAction="http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.IAsyncResult</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="request" Type="System.ServiceModel.Channels.Message" />
<Parameter Name="callback" Type="System.AsyncCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Starts an asynchronous retrieval of metadata.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>An <see cref="T:System.IAsyncResult" /> that can be passed to the <see cref="M:System.ServiceModel.Description.IMetadataExchange.EndGet(System.IAsyncResult)" /> method.</para>
</returns>
<param name="request">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Channels.Message" /> that should be processed to determine the metadata to return.</param>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.AsyncCallback" /> that points to the method that will process the metadata.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />Any data which allows the caller to determine which asynchronous call is being returned.</param>
</Docs>
</Member>
<Member MemberName="EndGet">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.Message EndGet (IAsyncResult result);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.Message EndGet(class System.IAsyncResult result) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="result" Type="System.IAsyncResult" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Concludes the retrieval of metadata.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.ServiceModel.Channels.Message" /> containing the processed metadata.</para>
</returns>
<param name="result">
<attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.IAsyncResult" /> that contains data used to further process the metadata.</param>
</Docs>
</Member>
<Member MemberName="Get">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.Message Get (System.ServiceModel.Channels.Message request);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.ServiceModel.Channels.Message Get(class System.ServiceModel.Channels.Message request) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ServiceModel.OperationContract(Action="http://schemas.xmlsoap.org/ws/2004/09/transfer/Get", AsyncPattern=false, ReplyAction="http://schemas.xmlsoap.org/ws/2004/09/transfer/GetResponse")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.Message</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="request" Type="System.ServiceModel.Channels.Message" />
</Parameters>
<Docs>
<remarks>To be added.</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Returns the service metadata.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.ServiceModel.Channels.Message" /> containing the metadata.</para>
</returns>
<param name="request">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Channels.Message" /> that contains the request for metadata.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IOperationBehavior" FullName="System.ServiceModel.Description.IOperationBehavior">
<TypeSignature Language="C#" Value="public interface IOperationBehavior" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IOperationBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> interface to modify, examine, or extend some aspect of operation-wide execution at the application level for either client or service applications.</para>
<list type="bullet">
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Channels.BindingParameterCollection)" /> method to pass custom data at runtime to enable bindings to support custom behavior.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.ClientOperation)" /> method to modify, examine, or insert extensions to a client dispatcher in a client application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.DispatchOperation)" /> method to modify, examine, or insert extensions to operation-wide execution in a service application.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IOperationBehavior.Validate(System.ServiceModel.Description.OperationDescription)" /> method to confirm that a <see cref="T:System.ServiceModel.Description.OperationDescription" /> meets specific requirements. This can be used to ensure that an operation has a certain configuration setting enabled, supports a particular feature and other requirements.</para>
</item>
</list>
<para>
<see cref="T:System.ServiceModel.Description.IOperationBehavior" /> objects can make use of any of these methods, but often only one is important; in such cases, the unused methods can return, performing no action.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> methods pass an <see cref="T:System.ServiceModel.Description.OperationDescription" /> object as a parameter. This parameter is for examination only; if you modify the <see cref="T:System.ServiceModel.Description.OperationDescription" /> object the execution behavior is undefined.</para>
</block>
<para>
<see cref="T:System.ServiceModel.Description.IOperationBehavior" /> objects are typically used to access the various properties of the <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" /> object in a service application and the <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" /> object in a client application.</para>
<para>Typically, the developer first reviews the extensibility points to determine which customization option suits the application scenario and then implements the customization at the appropriate scope. For example, <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> objects can insert customizations for all messages in an entire service and <see cref="T:System.ServiceModel.Description.IContractBehavior" /> objects can insert customizations for all messages across a specific contract, and so on. For a description of the various properties and customizations available, see <format type="text/html"><a href="954c138a-1cd0-45a0-8abe-e4d2b8ff5400">Extending ServiceHost and the Dispatcher</a></format>.</para>
<para>Once a customization has been decided upon (and the customization interface implemented if necessary) and the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> is the appropriate scope of customization, the customization must be inserted into the indigo1 runtime by implementing <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> and adding the operation behavior to the runtime.</para>
<para>There are two ways to add the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> to the runtime:</para>
<list type="bullet">
<item>
<para>Programmatically add the custom operation behavior to the <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> property prior to the opening of the service host (in a service application) or the channel factory (in a client application).</para>
</item>
<item>
<para>Add the behavior using a custom attribute. </para>
</item>
</list>
<para>To perform the service customization task for which it is intended, the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> property prior to the construction of the service runtime, which occurs when <see cref="Overload:System.ServiceModel.ICommunicationObject.Open" /> method is called on <see cref="T:System.ServiceModel.ServiceHost" />. To perform a client customization task, the <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> property before calling the <see cref="Overload:System.ServiceModel.ChannelFactory`1.CreateChannel" /> method or the <see cref="Overload:System.ServiceModel.ICommunicationObject.Open" /> method on <see cref="T:System.ServiceModel.ChannelFactory`1" />. </para>
<para>Although the operation behavior is designed for easy access to the runtime at the scope of an individual operation, you can access the runtime at a larger scope by accessing the parent runtime object.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements methods that can be used to extend run-time behavior for an operation in either a service or client application.</para>
</summary>
</Docs>
<Members>
<Member MemberName="AddBindingParameters">
<MemberSignature Language="C#" Value="public void AddBindingParameters (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddBindingParameters(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Channels.BindingParameterCollection)" /> method to provide binding elements with the extra objects they require to support the operation behavior. When binding parameters are added here, the binding can locate and process these objects when the channel listener or channel factory is created. Typically, you implement the <see cref="M:System.ServiceModel.Description.IOperationBehavior.AddBindingParameters(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Channels.BindingParameterCollection)" /> method to pass information about the operation to a custom binding element so that it can build a supporting channel correctly. Return no value if no modifications are required. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to pass data at runtime to bindings to support custom behavior.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ApplyClientBehavior">
<MemberSignature Language="C#" Value="public void ApplyClientBehavior (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Dispatcher.ClientOperation proxy);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyClientBehavior(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Dispatcher.ClientOperation proxy) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="proxy" Type="System.ServiceModel.Dispatcher.ClientOperation" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="proxy">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.ClientOperation)" /> method to view, modify, or add a custom extension to the client runtime across all messages used with a specific operation. For details about what customizations you can do with a client run-time object, see <see cref="T:System.ServiceModel.Dispatcher.ClientRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.ClientOperation" />. </para>
<para>It is recommended that the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.ClientOperation)" /> method throw a <see cref="T:System.NotImplementedException" /> if the behavior is only intended for use in a service application.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the client across an operation.</para>
</summary>
</Docs>
</Member>
<Member MemberName="ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="public void ApplyDispatchBehavior (System.ServiceModel.Description.OperationDescription description, System.ServiceModel.Dispatcher.DispatchOperation dispatch);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyDispatchBehavior(class System.ServiceModel.Description.OperationDescription description, class System.ServiceModel.Dispatcher.DispatchOperation dispatch) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
<Parameter Name="dispatch" Type="System.ServiceModel.Dispatcher.DispatchOperation" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="dispatch">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.DispatchOperation)" /> method to view, modify, or extend the service runtime across all messages or for a specific operation. For details about what customizations you can do in a service application, see <see cref="T:System.ServiceModel.Dispatcher.DispatchRuntime" /> and <see cref="T:System.ServiceModel.Dispatcher.DispatchOperation" />.</para>
<para>It is recommended that the <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.DispatchOperation)" /> method throw a <see cref="T:System.NotImplementedException" /> exception if the behavior is only intended for use in a client application. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implements a modification or extension of the service across an operation.</para>
</summary>
</Docs>
</Member>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public void Validate (System.ServiceModel.Description.OperationDescription description);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Validate(class System.ServiceModel.Description.OperationDescription description) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.OperationDescription" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IOperationBehavior.Validate(System.ServiceModel.Description.OperationDescription)" /> method to examine the structure to confirm any set of criteria. It is not necessary to perform any customizations in <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.ClientOperation)" /> or <see cref="M:System.ServiceModel.Description.IOperationBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.OperationDescription,System.ServiceModel.Dispatcher.DispatchOperation)" /> to make use of this method. If the operation passes validation, return; otherwise, throw an exception.</para>
<para>For example, the <see cref="M:System.ServiceModel.Description.IOperationBehavior.Validate(System.ServiceModel.Description.OperationDescription)" /> method can be use to ensure that an operation is authorized.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to confirm that the operation meets some intended criteria.</para>
</summary>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IOperationContractGenerationExtension" FullName="System.ServiceModel.Description.IOperationContractGenerationExtension">
<TypeSignature Language="C#" Value="public interface IOperationContractGenerationExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IOperationContractGenerationExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IOperationContractGenerationExtension" /> interface on an operation behavior (a <see cref="T:System.ServiceModel.Description.IOperationBehavior" /> type) to enable you to modify the code generated when a contract or endpoint is compiled into code. Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom operation behavior into the <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> collection during the call to <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> or <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines the methods called during contract generation that can be used to modify the generated code for an operation.</para>
</summary>
</Docs>
<Members>
<Member MemberName="GenerateOperation">
<MemberSignature Language="C#" Value="public void GenerateOperation (System.ServiceModel.Description.OperationContractGenerationContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GenerateOperation(class System.ServiceModel.Description.OperationContractGenerationContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="context" Type="System.ServiceModel.Description.OperationContractGenerationContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom operation behavior into the <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> collection during the call to <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> or <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" />.</para>
<para>The <see cref="M:System.ServiceModel.Description.IOperationContractGenerationExtension.GenerateOperation(System.ServiceModel.Description.OperationContractGenerationContext)" /> method is called once for each contract.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to modify the code document object model prior to the contract generation process.</para>
</summary>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />The working context that contains the <see cref="N:System.CodeDom" /> types necessary to modify the generated operation.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IPolicyExportExtension" FullName="System.ServiceModel.Description.IPolicyExportExtension">
<TypeSignature Language="C#" Value="public interface IPolicyExportExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPolicyExportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> interface on a <see cref="T:System.ServiceModel.Channels.BindingElement" /> object to write statements about endpoint capabilities or requirements into the WSDL information exposed by a particular endpoint. Typically the binding element is one that implements some feature, but this is not required. To load your policy exporter from a configuration file, implement a <see cref="T:System.ServiceModel.Configuration.BindingElementExtensionElement" /> that returns the policy exporter <see cref="T:System.ServiceModel.Channels.BindingElement" /> object.</para>
<para>The policy exporter is used by indigo1 to use policy assertions to communicate to clients the existence of that custom binding requirement or endpoint capability.</para>
<para>The <see cref="M:System.ServiceModel.Description.IPolicyExportExtension.ExportPolicy(System.ServiceModel.Description.MetadataExporter,System.ServiceModel.Description.PolicyConversionContext)" /> method takes 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 add your custom policy assertion object 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 the <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> extension 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>The <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> mechanism only supports exporting policy assertions in WSDL. To export custom WSDL elements you must use the <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> mechanism to modify the WSDL directly.</para>
<para>Once custom policy assertions have been attached to the WSDL information, clients can detect and import the custom binding assertions by using an <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> object.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> to insert custom binding policy assertions in the Web Services Description Language (WSDL) information.</para>
</summary>
</Docs>
<Members>
<Member MemberName="ExportPolicy">
<MemberSignature Language="C#" Value="public void ExportPolicy (System.ServiceModel.Description.MetadataExporter exporter, System.ServiceModel.Description.PolicyConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ExportPolicy(class System.ServiceModel.Description.MetadataExporter exporter, class System.ServiceModel.Description.PolicyConversionContext context) 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="context" Type="System.ServiceModel.Description.PolicyConversionContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>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 add your <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> object to the appropriate collection.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to include for exporting 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="context">
<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>

View File

@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IPolicyImportExtension" FullName="System.ServiceModel.Description.IPolicyImportExtension">
<TypeSignature Language="C#" Value="public interface IPolicyImportExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IPolicyImportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> interface to search WSDL information exposed by a particular endpoint for custom policy assertions about endpoint capabilities or requirements. Typically, a policy importer searches for a specific assertion and either inserts a binding element, configures a binding element, or modifies the contract to support the requirements of the assertion. </para>
<para>Unlike its counterpart, <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" />, <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> does not require implementation by a <see cref="T:System.ServiceModel.Channels.BindingElement" /> object; you can load it using the client configuration section shown in the Examples section or programmatically by adding it to the <see cref="T:System.ServiceModel.Description.WsdlImporter" /> constructor.</para>
<para>indigo1 passes two objects to the <see cref="M:System.ServiceModel.Description.IPolicyImportExtension.ImportPolicy(System.ServiceModel.Description.MetadataImporter,System.ServiceModel.Description.PolicyConversionContext)" /> method, a <see cref="T:System.ServiceModel.Description.MetadataImporter" /> and a <see cref="T:System.ServiceModel.Description.PolicyConversionContext" />. Typically the <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> object already contains the policy assertions for each binding scope. </para>
<para>An <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> implementation performs the following steps:</para>
<list type="ordered">
<item>
<para>Locates the custom policy assertion for which it is responsible by calling either the <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetBindingAssertions" />, <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetMessageBindingAssertions(System.ServiceModel.Description.MessageDescription)" />, or <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetOperationBindingAssertions(System.ServiceModel.Description.OperationDescription)" /> methods, depending upon the scope.</para>
</item>
<item>
<para>Removes the policy assertion from the assertion collection. The <see cref="M:System.ServiceModel.Description.PolicyAssertionCollection.Remove(System.String,System.String)" /> method locates, returns, and removes the assertion in one step.</para>
</item>
<item>
<para>Modify the binding stack or the contract by either adding a required custom <see cref="T:System.ServiceModel.Channels.BindingElement" /> to the <see cref="P:System.ServiceModel.Description.PolicyConversionContext.BindingElements" /> property or by modifying the <see cref="P:System.ServiceModel.Description.PolicyConversionContext.Contract" /> property. </para>
</item>
</list>
<para>Step 2 is important. After all policy importers have been called, indigo2 checks for the existence of any policy assertions that remain. If one exists, indigo2 assumes that the policy import was unsuccessful and does not import the associated binding.</para>
<block subset="none" type="note">
<para>A malicious metadata supplier can attempt to send malformed XML as part of metadata in an attempt to exploit a policy importer. It is strongly recommended that custom policy importers be robust to all forms of XML that can be passed to it.</para>
</block>
<para>Custom <see cref="T:System.ServiceModel.Description.MetadataImporter" /> implementations must implement their own <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> object to extract the policy assertions attached to the custom metadata format.</para>
<para>If you want to export and import custom WSDL elements that are not policy assertions, see <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> and <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" />.</para>
<block subset="none" type="note">
<para>You can use custom policy importers and exporters with the <format type="text/html"><a href="1abf3d9f-b420-46f1-b628-df238751f308">ServiceModel Metadata Utility Tool (Svcutil.exe)</a></format> by using the same configuration elements in a configuration file and the /svcutilConfig:&lt;configFile&gt; option.</para>
</block>
<para> </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines a method for objects that import custom policy assertions about bindings.</para>
</summary>
</Docs>
<Members>
<Member MemberName="ImportPolicy">
<MemberSignature Language="C#" Value="public void ImportPolicy (System.ServiceModel.Description.MetadataImporter importer, System.ServiceModel.Description.PolicyConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ImportPolicy(class System.ServiceModel.Description.MetadataImporter importer, class System.ServiceModel.Description.PolicyConversionContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="importer" Type="System.ServiceModel.Description.MetadataImporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.PolicyConversionContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the ImportPolicy method to obtain policy assertions and perform some modification of the imported contract or binding to support the assertion. Typically, a policy importer responds to finding a custom policy assertion by configuring or inserting a binding element into the binding being imported. </para>
<para>indigo1 passes two objects to the <see cref="M:System.ServiceModel.Description.IPolicyImportExtension.ImportPolicy(System.ServiceModel.Description.MetadataImporter,System.ServiceModel.Description.PolicyConversionContext)" /> method, a <see cref="T:System.ServiceModel.Description.MetadataImporter" /> and a <see cref="T:System.ServiceModel.Description.PolicyConversionContext" />. Typically the <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> object already contains the policy assertions for each binding scope. </para>
<para>An <see cref="T:System.ServiceModel.Description.IPolicyImportExtension" /> implementation performs the following steps:</para>
<list type="ordered">
<item>
<para>Locates the custom policy assertion for which it is responsible by calling either the <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetBindingAssertions" />, <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetMessageBindingAssertions(System.ServiceModel.Description.MessageDescription)" />, or <see cref="M:System.ServiceModel.Description.PolicyConversionContext.GetOperationBindingAssertions(System.ServiceModel.Description.OperationDescription)" /> methods, depending upon the scope.</para>
</item>
<item>
<para>Removes the policy assertion from the assertion collection. The <see cref="M:System.ServiceModel.Description.PolicyAssertionCollection.Remove(System.String,System.String)" /> method locates, returns, and removes the assertion in one step.</para>
</item>
<item>
<para>Modifies the binding stack or the contract by either adding a required custom <see cref="T:System.ServiceModel.Channels.BindingElement" /> to the <see cref="P:System.ServiceModel.Description.PolicyConversionContext.BindingElements" /> property or by modifying the <see cref="P:System.ServiceModel.Description.PolicyConversionContext.Contract" /> property. </para>
</item>
</list>
<para>Step 2 is important. After all policy importers have been called, indigo2 checks for the existence of any policy assertions that remain. If one exists, indigo2 assumes that the policy import was unsuccessful and does not import the associated binding.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines a method that can import custom policy assertions and add implementing binding elements.</para>
</summary>
<param name="importer">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.MetadataImporter" /> object in use.</param>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.PolicyConversionContext" /> that contains both the policy assertions that can be imported and the collections of binding elements to which implementing binding elements can be added.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,150 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IServiceBehavior" FullName="System.ServiceModel.Description.IServiceBehavior">
<TypeSignature Language="C#" Value="public interface IServiceBehavior" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IServiceBehavior" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> to modify, examine, or extend some aspect of service-wide execution at the application level: </para>
<list type="bullet">
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase)" /> method to change run-time property values or insert custom extension objects such as error handlers, message or parameter interceptors, security extensions, and other custom extension objects.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IServiceBehavior.Validate(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase)" /> method to examine the description before indigo1 constructs the executing service to confirm that it can execute properly.</para>
</item>
<item>
<para>Use the <see cref="M:System.ServiceModel.Description.IServiceBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase,System.Collections.ObjectModel.Collection{System.ServiceModel.Description.ServiceEndpoint},System.ServiceModel.Channels.BindingParameterCollection)" /> method to pass to a binding element the custom information for the service so that it can support the service correctly.</para>
</item>
</list>
<para>
<see cref="T:System.ServiceModel.Description.IServiceBehavior" /> objects can make use of any of these methods, but often only one is important; in such cases the unused methods can return without a value.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> methods pass <see cref="T:System.ServiceModel.Description.ServiceDescription" /> and <see cref="T:System.ServiceModel.ServiceHostBase" /> objects as a parameters. The <see cref="T:System.ServiceModel.Description.ServiceDescription" /> parameter is for examination only; if you modify these objects the execution behavior is undefined.</para>
</block>
<para>To perform the customization task for which it is intended, the <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> object must be added to the <see cref="P:System.ServiceModel.Description.ServiceDescription.Behaviors" /> property prior to the construction of the service runtime. There are three ways to do this:</para>
<list type="bullet">
<item>
<para>Programmatically add the custom service behavior to the <see cref="P:System.ServiceModel.Description.ServiceDescription.Behaviors" /> property prior to the point where the <see cref="M:System.ServiceModel.ICommunicationObject.Open" /> method is called on the <see cref="T:System.ServiceModel.ServiceHost" /> object.</para>
</item>
<item>
<para>Create a custom attribute that implements <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> and use it to mark service classes that are to be modified. When a <see cref="T:System.ServiceModel.ServiceHost" /> object is constructed, indigo2 uses reflection to discover the attributes on the service type. If any attributes implement <see cref="T:System.ServiceModel.Description.IServiceBehavior" />, they are added to the behaviors collection on <see cref="T:System.ServiceModel.Description.ServiceDescription" />. </para>
</item>
<item>
<para>Extend the <see cref="T:System.ServiceModel.Configuration.BehaviorExtensionElement" /> class to support the specification of the behavior in an application or machine configuration file. See the Example section for more information. </para>
</item>
</list>
<para>Examples of service behaviors in indigo2 include the <see cref="T:System.ServiceModel.ServiceBehaviorAttribute" /> attribute, the <see cref="T:System.ServiceModel.Description.ServiceThrottlingBehavior" />, the <see cref="T:System.ServiceModel.Description.ServiceDebugBehavior" /> and the <see cref="T:System.ServiceModel.Description.ServiceMetadataBehavior" /> behavior.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides a mechanism to modify or insert custom extensions across an entire service, including the <see cref="T:System.ServiceModel.ServiceHostBase" />.</para>
</summary>
</Docs>
<Members>
<Member MemberName="AddBindingParameters">
<MemberSignature Language="C#" Value="public void AddBindingParameters (System.ServiceModel.Description.ServiceDescription description, System.ServiceModel.ServiceHostBase serviceHostBase, System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.ServiceEndpoint&gt; endpoints, System.ServiceModel.Channels.BindingParameterCollection parameters);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void AddBindingParameters(class System.ServiceModel.Description.ServiceDescription description, class System.ServiceModel.ServiceHostBase serviceHostBase, class System.Collections.ObjectModel.Collection`1&lt;class System.ServiceModel.Description.ServiceEndpoint&gt; endpoints, class System.ServiceModel.Channels.BindingParameterCollection parameters) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ServiceDescription" />
<Parameter Name="serviceHostBase" Type="System.ServiceModel.ServiceHostBase" />
<Parameter Name="endpoints" Type="System.Collections.ObjectModel.Collection&lt;System.ServiceModel.Description.ServiceEndpoint&gt;" />
<Parameter Name="parameters" Type="System.ServiceModel.Channels.BindingParameterCollection" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<param name="parameters">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="M:System.ServiceModel.Description.IServiceBehavior.AddBindingParameters(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase,System.Collections.ObjectModel.Collection{System.ServiceModel.Description.ServiceEndpoint},System.ServiceModel.Channels.BindingParameterCollection)" /> method to add custom data objects to the <paramref name="parameters" /> collection that binding elements can use to acquire extra information to enable them to support the contract.</para>
<para>This method is called once for each listen URI. For example, if a service has four endpoints, and two of them have the same listen URI, then this method gets called three times. The reason is that the <paramref name="bindingParameters" /> target each channel stack and there is one channel stack for each listen URI. Because each call receives those endpoints at that listen URI, two calls each get a single <see cref="T:System.ServiceModel.Description.ServiceEndpoint" />, and one call gets a collection of two <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> objects.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> methods pass <see cref="T:System.ServiceModel.Description.ServiceDescription" /> and <see cref="T:System.ServiceModel.ServiceHostBase" /> objects as a parameters. The <see cref="T:System.ServiceModel.Description.ServiceDescription" /> parameter is for examination and insertion of customizations only; if you otherwise modify these objects the execution behavior is undefined.</para>
</block>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides the ability to pass custom data to binding elements to support the contract implementation.</para>
</summary>
<param name="serviceHostBase">
<attribution license="cc4" from="Microsoft" modified="false" />The host of the service.</param>
<param name="endpoints">
<attribution license="cc4" from="Microsoft" modified="false" />The service endpoints.</param>
</Docs>
</Member>
<Member MemberName="ApplyDispatchBehavior">
<MemberSignature Language="C#" Value="public void ApplyDispatchBehavior (System.ServiceModel.Description.ServiceDescription description, System.ServiceModel.ServiceHostBase serviceHostBase);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ApplyDispatchBehavior(class System.ServiceModel.Description.ServiceDescription description, class System.ServiceModel.ServiceHostBase serviceHostBase) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ServiceDescription" />
<Parameter Name="serviceHostBase" Type="System.ServiceModel.ServiceHostBase" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase)" /> method to inspect or modify the <see cref="T:System.ServiceModel.ServiceHostBase" /> object that is being constructed in order to support some custom execution scenario.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> methods pass <see cref="T:System.ServiceModel.Description.ServiceDescription" /> and <see cref="T:System.ServiceModel.ServiceHostBase" /> objects as a parameters. The <see cref="T:System.ServiceModel.Description.ServiceDescription" /> parameter is for examination and insertion of customizations only; if you otherwise modify these objects the execution behavior is undefined.</para>
</block>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides the ability to change run-time property values or insert custom extension objects such as error handlers, message or parameter interceptors, security extensions, and other custom extension objects.</para>
</summary>
<param name="serviceHostBase">
<attribution license="cc4" from="Microsoft" modified="false" />The host that is currently being built.</param>
</Docs>
</Member>
<Member MemberName="Validate">
<MemberSignature Language="C#" Value="public void Validate (System.ServiceModel.Description.ServiceDescription description, System.ServiceModel.ServiceHostBase serviceHostBase);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Validate(class System.ServiceModel.Description.ServiceDescription description, class System.ServiceModel.ServiceHostBase serviceHostBase) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="description" Type="System.ServiceModel.Description.ServiceDescription" />
<Parameter Name="serviceHostBase" Type="System.ServiceModel.ServiceHostBase" />
</Parameters>
<Docs>
<param name="description">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="M:System.ServiceModel.Description.IServiceBehavior.Validate(System.ServiceModel.Description.ServiceDescription,System.ServiceModel.ServiceHostBase)" /> method to confirm whether the current service can execute properly according to your scenario.</para>
<block subset="none" type="note">
<para>All of the <see cref="T:System.ServiceModel.Description.IServiceBehavior" /> methods pass <see cref="T:System.ServiceModel.Description.ServiceDescription" /> and <see cref="T:System.ServiceModel.ServiceHostBase" /> objects as a parameters. The <see cref="T:System.ServiceModel.Description.ServiceDescription" /> parameter is for examination and insertion of customizations only; if you otherwise modify these objects the execution behavior is undefined.</para>
</block>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides the ability to inspect the service host and the service description to confirm that the service can run successfully.</para>
</summary>
<param name="serviceHostBase">
<attribution license="cc4" from="Microsoft" modified="false" />The service host that is currently being constructed.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IServiceContractGenerationExtension" FullName="System.ServiceModel.Description.IServiceContractGenerationExtension">
<TypeSignature Language="C#" Value="public interface IServiceContractGenerationExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IServiceContractGenerationExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IServiceContractGenerationExtension" /> interface on a contract behavior (a <see cref="T:System.ServiceModel.Description.IContractBehavior" /> type) to enable you to modify the code generated when a contract or endpoint is compiled into code. </para>
<para>Typically, a custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> inserts a custom contract behavior into the <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" /> collection during the call to <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> or <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines the methods called during contract generation that can be used to modify the generated code for a service contract.</para>
</summary>
</Docs>
<Members>
<Member MemberName="GenerateContract">
<MemberSignature Language="C#" Value="public void GenerateContract (System.ServiceModel.Description.ServiceContractGenerationContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GenerateContract(class System.ServiceModel.Description.ServiceContractGenerationContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="context" Type="System.ServiceModel.Description.ServiceContractGenerationContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Use the <see cref="T:System.ServiceModel.Description.ServiceContractGenerationContext" /> to modify the contract, operations, or the <see cref="T:System.ServiceModel.Description.ServiceContractGenerator" /> prior to code generation.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement to modify the code document object model prior to the contract generation process.</para>
</summary>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />The code generated context to use to modify the code document prior to generation.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IWsdlExportExtension" FullName="System.ServiceModel.Description.IWsdlExportExtension">
<TypeSignature Language="C#" Value="public interface IWsdlExportExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IWsdlExportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>To modify and extend the Web Services Description Language (WSDL) exported by <see cref="T:System.ServiceModel.Description.WsdlExporter" /> objects, implement the <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> interface on an endpoint, contract, or operation behavior (an object that implements either <see cref="T:System.ServiceModel.Description.IContractBehavior" />, <see cref="T:System.ServiceModel.Description.IEndpointBehavior" />, or <see cref="T:System.ServiceModel.Description.IOperationBehavior" />) and add the behavior to the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Behaviors" />, <see cref="P:System.ServiceModel.Description.ContractDescription.Behaviors" />, or <see cref="P:System.ServiceModel.Description.OperationDescription.Behaviors" /> property. In addition, you can also implement <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> on a <see cref="T:System.ServiceModel.Channels.BindingElement" />.</para>
<block subset="none" type="note">
<para>
<see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> implementations are never invoked if they are implemented as an <see cref="T:System.ServiceModel.Description.IServiceBehavior" />.</para>
</block>
<para>
<see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> does not export custom policy assertions even though indigo1 exports custom binding policy assertions to the appropriate element inside WSDL. If you want to export custom policy assertions, implement the <see cref="T:System.ServiceModel.Description.IPolicyExportExtension" /> interface. </para>
<para>The metadata publication process begins by calling <see cref="M:System.ServiceModel.Description.WsdlExporter.ExportEndpoints(System.Collections.Generic.IEnumerable{System.ServiceModel.Description.ServiceEndpoint},System.Xml.XmlQualifiedName)" /> which in turn calls <see cref="M:System.ServiceModel.Description.WsdlExporter.ExportEndpoint(System.ServiceModel.Description.ServiceEndpoint)" /> for each endpoint. </para>
<para>The endpoint is exported by first exporting its contract.When exporting a contract the <see cref="T:System.ServiceModel.Description.WsdlExporter" /> calls the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportContract(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> method on all <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> implementations on the contract, and operation behaviors for that contract. Operations that use wildcard actions are not exported in metadata, so <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> implementations on operation behaviors for these operations are not exported.</para>
<para>After exporting the contract, the port and binding are exported and exported policy expressions are attached.</para>
<para>Both the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportContract(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> and the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" /> methods provide access to the <see cref="T:System.ServiceModel.Description.WsdlExporter" /> so that <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> implementations can report recoverable errors and warnings through the <see cref="P:System.ServiceModel.Description.MetadataExporter.Errors" /> property. The context objects passed into both methods provide convenient mappings from exported WSDL elements to properties of <see cref="T:System.ServiceModel.Description.ContractDescription" /> and <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> objects.</para>
<para>If an <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> implementation throws an exception on export, the generated metadata is in an inconsistent state and the <see cref="T:System.ServiceModel.Description.WsdlExporter" /> object should be discarded.</para>
<block subset="none" type="note">
<para>Custom export extension must run after the built-in serializer populates the service description.</para>
</block>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Defines endpoint or contract behaviors that can export custom metadata.</para>
</summary>
</Docs>
<Members>
<Member MemberName="ExportContract">
<MemberSignature Language="C#" Value="public void ExportContract (System.ServiceModel.Description.WsdlExporter exporter, System.ServiceModel.Description.WsdlContractConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ExportContract(class System.ServiceModel.Description.WsdlExporter exporter, class System.ServiceModel.Description.WsdlContractConversionContext context) 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.WsdlExporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlContractConversionContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportContract(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> method is called when the metadata export system is exporting the contract. Only contract and operation behaviors implementing <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> get the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportContract(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> call. All behaviors implementing <see cref="T:System.ServiceModel.Description.IWsdlExportExtension" /> get the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" /> call.</para>
<para>Use the <paramref name="context" /> parameter to modify the WSDL to be exported. For an example, see the Example section.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Writes custom Web Services Description Language (WSDL) elements into the generated WSDL for a contract.</para>
</summary>
<param name="exporter">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.WsdlExporter" /> that exports the contract information.</param>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />Provides mappings from exported WSDL elements to the contract description.</param>
</Docs>
</Member>
<Member MemberName="ExportEndpoint">
<MemberSignature Language="C#" Value="public void ExportEndpoint (System.ServiceModel.Description.WsdlExporter exporter, System.ServiceModel.Description.WsdlEndpointConversionContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ExportEndpoint(class System.ServiceModel.Description.WsdlExporter exporter, class System.ServiceModel.Description.WsdlEndpointConversionContext context) 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.WsdlExporter" />
<Parameter Name="context" Type="System.ServiceModel.Description.WsdlEndpointConversionContext" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" /> method to modify the WSDL exported for an endpoint. This method is called after the contract has been exported by <see cref="M:System.ServiceModel.Description.IWsdlExportExtension.ExportContract(System.ServiceModel.Description.WsdlExporter,System.ServiceModel.Description.WsdlContractConversionContext)" />. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Writes custom Web Services Description Language (WSDL) elements into the generated WSDL for an endpoint.</para>
</summary>
<param name="exporter">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Description.WsdlExporter" /> that exports the endpoint information.</param>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />Provides mappings from exported WSDL elements to the endpoint description.</param>
</Docs>
</Member>
</Members>
</Type>

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<Type Name="IWsdlImportExtension" FullName="System.ServiceModel.Description.IWsdlImportExtension">
<TypeSignature Language="C#" Value="public interface IWsdlImportExtension" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IWsdlImportExtension" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement the <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> interface to control the mapping between WSDL and <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> and <see cref="T:System.ServiceModel.Description.ContractDescription" /> objects, especially when reading custom WSDL extensions to modify your contract or endpoint information. Then attach your custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> object to a <see cref="T:System.ServiceModel.Description.WsdlImporter" /> either programmatically or by using an application configuration file. You can also attach your custom <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> object to the internal <see cref="T:System.ServiceModel.Description.WsdlImporter" /> used by the <format type="text/html"><a href="1abf3d9f-b420-46f1-b628-df238751f308">Service Model Metadata Utility Tool (Svcutil.exe)</a></format> using an application configuration file.</para>
<para>The <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> method is called to import a contract. </para>
<para>Use the <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.BeforeImport(System.Web.Services.Description.ServiceDescriptionCollection,System.Xml.Schema.XmlSchemaSet,System.Collections.Generic.ICollection{System.Xml.XmlElement})" /> method to modify the metadata that is then imported into <see cref="T:System.ServiceModel.Description.ServiceEndpoint" /> and <see cref="T:System.ServiceModel.Description.ContractDescription" /> objects.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Implement and attach to a <see cref="T:System.ServiceModel.Description.WsdlImporter" /> object to control how the importer maps Web Services Description Language (WSDL) parts to those of a <see cref="T:System.Web.Services.Description.ServiceDescription" /> object.</para>
</summary>
</Docs>
<Members>
<Member MemberName="BeforeImport">
<MemberSignature Language="C#" Value="public void BeforeImport (System.Web.Services.Description.ServiceDescriptionCollection wsdlDocuments, System.Xml.Schema.XmlSchemaSet xmlSchemas, System.Collections.Generic.ICollection&lt;System.Xml.XmlElement&gt; policy);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BeforeImport(class System.Web.Services.Description.ServiceDescriptionCollection wsdlDocuments, class System.Xml.Schema.XmlSchemaSet xmlSchemas, class System.Collections.Generic.ICollection`1&lt;class System.Xml.XmlElement&gt; policy) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="wsdlDocuments" Type="System.Web.Services.Description.ServiceDescriptionCollection" />
<Parameter Name="xmlSchemas" Type="System.Xml.Schema.XmlSchemaSet" />
<Parameter Name="policy" Type="System.Collections.Generic.ICollection&lt;System.Xml.XmlElement&gt;" />
</Parameters>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.BeforeImport(System.Web.Services.Description.ServiceDescriptionCollection,System.Xml.Schema.XmlSchemaSet,System.Collections.Generic.ICollection{System.Xml.XmlElement})" /> methods of all registered <see cref="T:System.ServiceModel.Description.IWsdlImportExtension" /> objects is called before anything is imported from the supplied metadata.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Called prior to importing metadata documents.</para>
</summary>
<param name="wsdlDocuments">
<attribution license="cc4" from="Microsoft" modified="false" />The service descriptions to modify.</param>
<param name="xmlSchemas">
<attribution license="cc4" from="Microsoft" modified="false" />The schema collection to be used when importing.</param>
<param name="policy">
<attribution license="cc4" from="Microsoft" modified="false" />The policy assertions used when importing.</param>
</Docs>
</Member>
<Member MemberName="ImportContract">
<MemberSignature Language="C#" Value="public void ImportContract (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlContractConversionContext contractContext);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ImportContract(class System.ServiceModel.Description.WsdlImporter importer, class System.ServiceModel.Description.WsdlContractConversionContext contractContext) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="importer" Type="System.ServiceModel.Description.WsdlImporter" />
<Parameter Name="contractContext" Type="System.ServiceModel.Description.WsdlContractConversionContext" />
</Parameters>
<Docs>
<param name="contractContext">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportContract(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlContractConversionContext)" /> method is called when a contract is being imported. You can modify the contract or insert other exporting behaviors such as <see cref="T:System.ServiceModel.Description.IServiceContractGenerationExtension" /> and an <see cref="T:System.ServiceModel.Description.IOperationContractGenerationExtension" /> objects to modify the code that is generated for the contract.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Called when importing a contract.</para>
</summary>
<param name="importer">
<attribution license="cc4" from="Microsoft" modified="false" />The importer.</param>
</Docs>
</Member>
<Member MemberName="ImportEndpoint">
<MemberSignature Language="C#" Value="public void ImportEndpoint (System.ServiceModel.Description.WsdlImporter importer, System.ServiceModel.Description.WsdlEndpointConversionContext endpointContext);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ImportEndpoint(class System.ServiceModel.Description.WsdlImporter importer, class System.ServiceModel.Description.WsdlEndpointConversionContext endpointContext) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="importer" Type="System.ServiceModel.Description.WsdlImporter" />
<Parameter Name="endpointContext" Type="System.ServiceModel.Description.WsdlEndpointConversionContext" />
</Parameters>
<Docs>
<param name="endpointContext">To be added.</param>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The <see cref="M:System.ServiceModel.Description.IWsdlImportExtension.ImportEndpoint(System.ServiceModel.Description.WsdlImporter,System.ServiceModel.Description.WsdlEndpointConversionContext)" /> method is called when importing an endpoint. Modify the context properties to customize the imported endpoint.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Called when importing an endpoint.</para>
</summary>
<param name="importer">
<attribution license="cc4" from="Microsoft" modified="false" />The importer.</param>
</Docs>
</Member>
</Members>
</Type>

Some files were not shown because too many files have changed in this diff Show More