Condividi tramite


Procedura: configurare un servizio Windows Communication Foundation per l'utilizzo della condivisione delle porte

Il modo più semplice per utilizzare la condivisione delle porte net.tcp:// nelle applicazioni Windows Communication Foundation (WCF) è esporre un servizio mediante l'associazione NetTcpBinding.

Questa associazione fornisce una proprietà PortSharingEnabled che controlla se la condivisione delle porte net.tcp:// è attivata per il servizio configurato con questa associazione.

La procedura seguente mostra come utilizzare la classe NetTcpBinding per aprire un endpoint all'URI (Uniform Resource Identifier) net.tcp://localhost/MyService, prima in codice e quindi tramite elementi di configurazione.

Per attivare in codice la condivisione delle porte net.tcp:// in un'associazione NetTcpBinding

  1. Creare un servizio per implementare un contratto denominato IMyService e quindi denominarlo MyService.

  2. Creare un'istanza della classe NetTcpBinding e impostare la proprietà PortSharingEnabled su true.

  3. Creare un host ServiceHost e aggiungervi l'endpoint del servizio MyService che utilizza l'associazione in cui è stata attivata la condivisione delle porte NetTcpBinding e che è in attesa presso l'URI "net.tcp://localhost/MyService".

    Nota

    In questo esempio viene utilizzata la porta TCP predefinita 808 in quanto l'indirizzo URI dell'endpoint non specifica un numero di porta diverso. Poiché la condivisione delle porte è stata attivata in modo esplicito nell'associazione di trasporto, questo servizio può condividere la porta 808 con altri servizi appartenenti ad altri processi. Se invece non si attiva la condivisione delle porte e la porta 808 è già utilizzata da un'altra applicazione, il servizio genera un'eccezione AddressAlreadyInUseException quando viene aperto.

Per attivare in configurazione la condivisione delle porte net.tcp:// in un'associazione NetTcpBinding

  1. Nell'esempio seguente viene illustrato come attivare la condivisione delle porte e aggiungere l'endpoint di servizio tramite elementi di configurazione.
<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>

Vedere anche

Attività

Procedura: attivare il servizio di condivisione delle porte Net.TCP

Concetti

Condivisione delle porte Net.TCP