Procedura: installare e configurare componenti di attivazione WCF
In questo argomento vengono illustrati i passaggi richiesti per impostare il servizio di attivazione dei processi di Windows (anche noto come WAS) in Windows Vista per ospitare servizi Windows Communication Foundation (WCF) che non comunicano su protocolli di rete HTTP. Nelle sezioni seguenti vengono spiegati i passaggi relativi a tale configurazione:
- Installare i componenti di attivazione WCF, o controllarne l'installazione.
- Configurare WAS per supportare un protocollo non HTTP. Nella procedura seguente viene illustrato come configurare Windows Vista per l'attivazione TCP.
Dopo aver installato e configurato WAS in Windows Vista, vedere Procedura: ospitare un servizio WCF in WAS per le procedure relative alla creazione di un servizio WCF che espone un endpoint non HTTP che utilizza WAS.
Per installare i componenti di attivazione WCF non HTTP
Fare clic sul pulsante Start, quindi scegliere Pannello di controllo.
Fare clic su Programmi, quindi su Programmi e funzionalità.
Scegliere Attivazione o disattivazione delle funzionalità Windows dal menu Attività.
Individuare il nodo .NET Framework 3.0, selezionarlo e quindi espanderlo.
Selezionare la casella Componenti di attivazione WCF non HTTP e salvare l'impostazione.
Per configurare WAS per supportare l'attivazione TCP
Per supportare l'attivazione net.tcp, è prima necessario associare il sito Web predefinito a una porta net.tcp. A tale fine, utilizzare Appcmd.exe, installato con il set di strumenti di gestione di IIS 7.0. In una finestra del prompt dei comandi a livello di amministratore, eseguire il comando seguente.
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
Nota
Questo comando è una singola riga di testo. Il comando aggiunge un'associazione del sito net.tcp al sito Web predefinito in ascolto sulla porta TCP 808 con qualsiasi nome host.
Anche se tutte le applicazioni all'interno di un sito condividono un'associazione net.tcp comune, ognuna di esse può attivare il supporto net.tcp individualmente. Per attivare net.tcp per l'applicazione, eseguire il comando seguente da un prompt dei comandi a livello di amministratore.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp
Nota
Questo comando è una singola riga di testo. Il comando attiva l'accesso all'applicazione /<Applicazione WCF> utilizzando sia https://localhost/<Applicazione WCF> che net.tcp://localhost/<Applicazione WCF>.
Rimuovere l'associazione del sito net.tcp aggiunta per questo esempio.
Per comodità, i due passaggi seguenti vengono implementati in un file batch chiamato RemoveNetTcpSiteBinding.cmd posto nella directory di esempio.
Rimuovere net.tcp dall'elenco dei protocolli attivati tramite il comando seguente in una finestra del prompt dei comandi a livello di amministratore.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Nota
Questo comando è una singola riga di testo.
Rimuovere l'associazione del sito net.tcp tramite il comando seguente in una finestra del prompt dei comandi con privilegi elevati:
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" --bindings.[protocol='net.tcp',bindingInformation='808:*']
Nota
Questo comando è una singola riga di testo.
Per rimuovere net.tcp dall'elenco dei protocolli attivati
Per rimuovere net.tcp dall'elenco dei protocolli attivati, eseguire il comando seguente in una finestra del prompt dei comandi a livello di amministratore.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Nota
Questo comando è una singola riga di testo.
Per rimuovere l'associazione del sito net.tcp
Per rimuovere l'associazione del sito net.tcp, eseguire il comando seguente in una finestra del prompt dei comandi a livello di amministratore.
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -bindings.[protocol='net.tcp',bindingInformation='808:*']
Nota
Questo comando è una singola riga di testo.