<?xml version="1.0" encoding="utf-8"?>
<Type Name="ListenUriMode" FullName="System.ServiceModel.Description.ListenUriMode">
  <TypeSignature Language="C#" Value="public enum ListenUriMode" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed ListenUriMode extends System.Enum" />
  <AssemblyInfo>
    <AssemblyName>System.ServiceModel</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Enum</BaseTypeName>
  </Base>
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The URI for the endpoint on which a service listens can be set programmatically using the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" /> property and the value of the <see cref="T:System.ServiceModel.Description.ListenUriMode" /> for that endpoint is set using the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUriMode" /> property. The default value for <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" /> is <see cref="P:System.ServiceModel.Description.ServiceEndpoint.Address" />. The default value for <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUriMode" /> is <see cref="F:System.ServiceModel.Description.ListenUriMode.Explicit" />.</para>
      <para>The value of these properties may also be set using the <see cref="P:System.ServiceModel.Configuration.ServiceEndpointElement.ListenUri" /> property and the <see cref="P:System.ServiceModel.Configuration.ServiceEndpointElement.ListenUriMode" /> property.</para>
      <para>When the value of the <see cref="T:System.ServiceModel.Description.ListenUriMode" /> is set to <see cref="F:System.ServiceModel.Description.ListenUriMode.Unique" /> the transport is responsible for creating a unique URI. Different transports used by indigo1 generate this unique URI differently </para>
      <list type="bullet">
        <item>
          <para>For TCP in exclusive mode (<see cref="P:System.ServiceModel.Channels.TcpTransportBindingElement.PortSharingEnabled" /> is false) this means binding to a uniquely available port number.</para>
        </item>
        <item>
          <para> For TCP in port sharing mode (<see cref="P:System.ServiceModel.Channels.TcpTransportBindingElement.PortSharingEnabled" /> is true) and for all of the other existing indigo2 transports, this means appending a unique path (a GUID) to the end of the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" />.</para>
        </item>
      </list>
      <para>When the value of the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUriMode" /> is set to <see cref="F:System.ServiceModel.Description.ListenUriMode.Explicit" /> mode, the transport uses the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" /> exactly as it is provided, without modifying it to make it unique. </para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Indicates whether the transport must ensure that the URI provided for the service to listen on is unique or can be used exactly as provided.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Explicit">
      <MemberSignature Language="C#" Value="Explicit" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.ServiceModel.Description.ListenUriMode Explicit = int32(0)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Description.ListenUriMode</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Uses the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" /> exactly as provided. This is the default value.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Unique">
      <MemberSignature Language="C#" Value="Unique" />
      <MemberSignature Language="ILAsm" Value=".field public static literal valuetype System.ServiceModel.Description.ListenUriMode Unique = int32(1)" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Description.ListenUriMode</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Specifies that the transport should use a transport-specific mechanism to ensure that the <see cref="P:System.ServiceModel.Description.ServiceEndpoint.ListenUri" /> is unique.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>