¿Cómo forzar a un punto final net.tcp mex (mexTcpBinding) a participar en el uso compartido de puertos?

Tengo un servicio WCF que está alojado como un servicio de Windows. Nos gustaría habilitar un punto final mex en la misma dirección (pero con un sufijo '/ mex'). He estado tratando de hacer esto (sin éxito) usando la siguiente configuración:

<system.serviceModel>

  <services>
    <service
      name="MyCompany.MyService"
      behaviorConfiguration="defaultServiceBehavior">

      <host>
        <baseAddresses>
          <add baseAddress="net.tcp://localhost"/>
        </baseAddresses>
      </host>

      <endpoint
        address="MyService"
        binding="netTcpBinding"
        contract="MyCompany.IMyService"
        bindingConfiguration="netTcpBindingConfig"
        />

      <endpoint
        address="MyService/mex"
        binding="mexTcpBinding"
        contract="IMetadataExchange"
        />

    </service>
  </services>

  <behaviors>
    <serviceBehaviors>
      <behavior name="defaultServiceBehavior">
        <serviceMetadata />
      </behavior>
    </serviceBehaviors>
  </behaviors>

  <bindings>
    <netTcpBinding>
      <binding name="netTcpBindingConfig" portSharingEnabled="true" />
    </netTcpBinding>
  </bindings>

</system.serviceModel>

Cuando se ejecuta, el host del servicio arroja unAddressAlreadyInUseException quejándose de que "Ya hay un oyente en el punto final IP 0.0.0.0:808". En realidad, esto tiene sentido para mí porque el servicio de uso compartido de puertos ha abierto ese puerto para servirMyService punto final junto con cualquier otro servicio que solicite compartir ese puerto en esta máquina.

Parece que el punto final mex quiere acceso exclusivo al puerto 808. Puedo solucionar esto ajustando el punto final mex de esta manera:

<endpoint
  address="net.tcp://localhost:818/MyService/mex"
  binding="mexTcpBinding"
  contract="IMetadataExchange"
  />

Esto significa que el punto final mex ahora tiene su propio puerto exclusivo. La desventaja de esto es que cualquier otro servicio que quiera exponer un punto final mex también necesitará un puerto único para su punto final mex. Esto lo hace muy impredecible cuando se buscan puntos finales mex.

¿Hay alguna manera de obligar al punto final mex a participar en el uso compartido de puertos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta