Compartir a través de


Cómo: Configurar un servicio de Windows Communication Foundation para utilizar puertos compartidos

La manera más fácil de utilizar la compartición de puertos de net.tcp:// en su aplicación de Windows Communication Foundation (WCF) es exponer un servicio mediante NetTcpBinding.

Este enlace proporciona una propiedad PortSharingEnabled que controla si la compartición de puertos de net.tcp:// está habilitada para el servicio que se está configurando con este enlace.

El siguiente procedimiento muestra cómo utilizar la clase NetTcpBinding para abrir un extremo en el URI net.tcp://localhost/MyService, primero mediante código y, a continuación, mediante los elementos de configuración.

Para habilitar la compartición de puertos de net.tcp:// en un NetTcpBinding mediante código

  1. Cree un servicio para implementar un contrato llamado IMyService y llámelo MyService.

  2. Cree una instancia de la clase NetTcpBinding y establezca la propiedad PortSharingEnabled en true.

  3. Cree un ServiceHost y agregue el extremo de servicio a él para MyService que utiliza el NetTcpBinding con uso compartido de puerto habilitado y que realiza escuchas en el URI de la dirección del extremo "net.tcp://localhost/MyService".

    Nota

    Este ejemplo utiliza el puerto TCP predeterminado 808, porque el URI de dirección de extremo no especifica un número de puerto diferente. Dado que el uso compartido del puerto está habilitado explícitamente en el enlace de transporte, este servicio puede compartir el puerto 808 con otros servicios en otros procesos. Si no se permitiera el uso compartido del puerto y otra aplicación ya estuviese utilizando el puerto 808, este servicio produciría una AddressAlreadyInUseException al abrirse.

Para habilitar el uso compartido de puerto de net.tcp:// en un NetTcpBinding mediante configuración

  1. El ejemplo siguiente muestra cómo habilitar el uso compartido de puerto y agregar el extremo de servicio mediante elementos de configuración.
<system.serviceModel>
  <bindings>
    <netTcpBinding name="portSharingBinding" 
                   portSharingEnabled="true" />
  <services>
    <service name="MyService">
        <endpoint address="net.tcp://localhost/MyService"
                  binding="netTcpBinding"
                  contract="IMyService"
                  bindingConfiguration="portSharingBinding" />
    </service>
  </services>
</system.serviceModel>

Consulte también

Tareas

Cómo habilitar el servicio de uso compartido de puertos Net.TCP

Conceptos

Uso compartido de puertos Net.TCP