Host servizio WCF (WcfSvcHost.exe)WCF Service Host (WcfSvcHost.exe)

Host del servizio Windows Communication Foundation (WCF) (WcfSvcHost.exe) consente di avviare il debugger di Visual Studio (F5) per ospitare e testare un servizio che è stato implementato automaticamente.Windows Communication Foundation (WCF) Service Host (WcfSvcHost.exe) allows you to launch the Visual Studio debugger (F5) to automatically host and test a service you have implemented. È quindi possibile testare il servizio mediante Client di prova WCF (WcfTestClient.exe) o un client specifico, per individuare e correggere qualsiasi errore potenziale.You can then test the service using WCF Test Client (WcfTestClient.exe), or your own client, to find and fix any potential errors.

Host servizio WCFWCF Service Host

Host servizio WCF enumera i servizi in un progetto di servizio WCF, carica la configurazione del progetto e crea un'istanza di un host per ogni servizio che trova.WCF Service Host enumerates the services in a WCF service project, loads the project’s configuration, and instantiates a host for each service that it finds. Lo strumento è integrato in Visual Studio tramite il modello di servizio WCF e viene richiamato quando si avvia il debug del progetto.The tool is integrated into Visual Studio through the WCF Service template and is invoked when you start to debug your project.

Mediante Host servizio WCF, è possibile ospitare un servizio WCF (in un progetto di libreria di servizi WCF) senza scrivere codice aggiuntivo o eseguire il commit di un host specifico durante lo sviluppo.By using WCF Service Host, you can host a WCF service (in a WCF service library project) without writing extra code or committing to a specific host during development.

Nota

Host servizio WCF non supporta il Trust parziale.WCF Service Host does not support Partial Trust. Se si desidera utilizzare un servizio WCF in attendibilità parziale, non utilizzare il modello di progetto libreria di servizi WCF in Visual Studio per compilare il servizio.If you want to use a WCF Service in Partial Trust, do not use the WCF Service Library Project template in Visual Studio to build your service. Al contrario, creare un nuovo sito Web in Visual Studio scegliendo il modello sito Web del servizio WCF, che possa ospitare il servizio in un server Web in cui è supportato il Trust parziale di WCF.Instead, create a New WebSite in Visual Studio by choosing the WCF Service WebSite template, which can host the service in a WebServer on which WCF Partial Trust is supported.

Tipi di progetto ospitati da Host servizio WCFProject Types hosted by WCF Service Host

Host servizio WCF può ospitare i seguenti tipi di progetto di libreria del servizio WCF: libreria di servizi WCF, libreria di servizi flusso di lavoro sequenziale, libreria del servizio del flusso di lavoro macchina a stati e libreria di servizi di diffusione.WCF Service Host can host the following WCF service library project types: WCF Service Library, Sequential Workflow Service Library, State Machine Workflow Service Library and Syndication Service Library. Host servizio WCF può ospitare anche i servizi che possono essere aggiunti a un progetto libreria di servizi mediante il Aggiungi elemento funzionalità.WCF Service Host can also host those services that can be added to a service library project using the Add Item functionality. Questo include servizio WCF, servizio macchina a stati WF, servizio sequenziale WF, servizio macchina a stati WF XAML e servizio sequenziale WF XAML.This includes WCF Service, WF State Machine Service, WF Sequential Service, XAML WF State Machine Service and XAML WF Sequential Service.

Tuttavia, è necessario notare che lo strumento non consentirà di configurare un host.You should note, however, that the tool will not help you to configure a host. Per questa attività, è necessario modificare manualmente il file App.config.For this task, you must manually edit the App.config file. Lo strumento non convalida nemmeno i file di configurazione definiti dall'utente.The tool also does not validate user-defined configuration files.

Attenzione

Non è necessario utilizzare Host servizio WCF per ospitare i servizi in un ambiente di produzione, quanto non è stato codificato per questo scopo.You should not use WCF Service Host to host services in a production environment, as it was not engineered for this purpose. Host servizio WCF non supporta l'affidabilità, sicurezza e i requisiti di gestibilità di un tale ambiente.WCF Service Host does not support the reliability, security, and manageability requirements of such an environment. Utilizzare invece IIS in quanto fornisce migliori funzionalità di affidabilità e monitoraggio ed è la soluzione preferita per i servizi di hosting.Instead, use IIS since it provides superior reliability and monitoring features, and is the preferred solution for hosting services. Una volta completato lo sviluppo dei servizi, è necessario eseguire la migrazione di servizi dall'Host del servizio WCF in IIS.Once development of your services is complete, you should migrate the services from WCF Service Host to IIS.

Scenari per l'utilizzo di Host servizio WCF in Visual StudioScenarios for Using WCF Service Host inside Visual Studio

Nella tabella seguente sono elencati tutti i parametri in di argomenti della riga di comando finestra di dialogo, disponibili facendo clic con il progetto in Esplora soluzioni in Visual Studio, selezionando Le proprietà, quindi selezionando la eseguire il Debug scheda e facendo clic su Avvia progetto.The following table lists all the parameters in the Command line arguments dialog box, which can be found by right-clicking your project in Solutions Explorer in Visual Studio, selecting Properties, then selecting the Debug tab and clicking Start Project. Questi parametri sono utili nella configurazione Host servizio WCF.These parameters are useful in configuring WCF Service Host.

ParametroParameter SignificatoMeaning
/client Un parametro facoltativo che specifica il percorso di un file eseguibile da eseguire dopo l'hosting dei servizi.An optional parameter that specifies the path to an executable to run after the services are hosted. Verrà avviato il Client di prova WCF dopo l'hosting.This launches WCF Test Client following hosting.
/clientArg Consente di specificare una stringa come argomento che viene passato all'applicazione client personalizzata.Specify a string as an argument that is passed to the custom client application.
/? Visualizza il testo della Guida.Displays the help text.

Utilizzo di Client di test WCFUsing WCF Test Client

Dopo aver creato un nuovo progetto di servizio WCF e premere F5 per avviare il debugger, Host servizio WCF avvia l'hosting di tutti i servizi che trova nel progetto.After you create a new WCF service project and press F5 to start the debugger, WCF Service Host starts hosting all the services it finds in your project. Client di prova WCF apre automaticamente e visualizza un elenco di endpoint servizio definiti nel file di configurazione.WCF Test Client automatically opens and displays a list of service endpoints defined in the configuration file. Dalla finestra principale, è possibile testare i parametri e richiamare il servizio.From the main window, you can test the parameters and invoke your service.

Per verificare che venga utilizzato Client di prova WCF, destro del mouse sul progetto in Esplora soluzioni in Visual Studio, selezionare delle proprietà, quindi selezionare il Debug scheda. Fare clic su Avvia progetto e assicurarsi che sia visualizzato quanto segue nel argomenti della riga di comando finestra di dialogo.To make sure that WCF Test Client is used, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and ensure that the following appears in the Command line arguments dialog box.

/client:WcfTestClient.exe

Utilizzo di un client personalizzatoUsing a Custom Client

Per utilizzare un client personalizzato, fare doppio clic su progetto in Esplora soluzioni in Visual Studio, selezionare delle proprietà, quindi selezionare il Debug scheda. Fare clic su Avvia progetto e modificare il /client parametro il argomenti della riga di comando finestra di dialogo in modo da puntare al client personalizzato, come indicato nell'esempio seguente.To use a custom client, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and edit the /client parameter in the Command line arguments dialog box to point to your custom client, as indicated in the following example.

/client:"path/CustomClient.exe"

Quando si preme F5 per avviare nuovamente il servizio, Host servizio WCF avvia automaticamente il client personalizzato quando si avvia il debugger.When you press F5 to start the service again, WCF Service Host automatically starts your custom client when you launch the debugger.

È anche possibile utilizzare il parametro /clientArg: per specificare una stringa come argomento passato all'applicazione client personalizzata, come indicato nell'esempio seguente.You can also use the /clientArg: parameter to specify a string as an argument that is passed to the custom client application, as indicated in the following example.

/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"

Ad esempio, se si utilizza il modello Libreria di servizi di diffusione, sarà possibile utilizzare gli argomenti della riga di comando seguenti:For example, if you are using the Syndication Service Library template, you can use the following command line arguments,

/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/

Specifica nessuno clientSpecifying No Client

Per specificare che verrà utilizzato alcun client dopo l'hosting dei servizi WCF, destro del mouse sul progetto in Esplora soluzioni in Visual Studio, selezionare delle proprietà, quindi selezionare il Debug scheda. Fare clic su Avvia progetto e lasciare il argomenti della riga di comando finestra di dialogo vuoto.To specify that no client will be used after WCF service hosting, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start Project and leave the Command line arguments dialog box blank.

Utilizzo di un host personalizzatoUsing a Custom Host

Per utilizzare un host personalizzato, fare doppio clic su progetto in Esplora soluzioni in Visual Studio, selezionare delle proprietà, quindi selezionare il Debug scheda. Fare clic su Avvia programma esterno e immettere il percorso completo per l'host personalizzato.To use a custom host, right-click your project in Solutions Explorer in Visual Studio, select Properties, then select the Debug tab. Click Start External Program and enter the full path to the custom host. È inoltre possibile utilizzare il argomenti della riga di comando la finestra di dialogo per specificare gli argomenti da passare all'host.You can also use the Command line arguments dialog box to specify arguments to be passed to the host.

Interfaccia utente dell'Host servizio WCFWCF Service Host User Interface

Quando si richiama inizialmente Host servizio WCF (premendo F5 in Visual Studio), il Host servizio WCF finestra verrà aperta automaticamente.When you initially invoke WCF Service Host (by pressing F5 inside Visual Studio), the WCF Service Host window automatically opens. Quando Host servizio WCF è in esecuzione, l'icona del programma viene visualizzato nell'area di notifica.When WCF Service Host is running, the program's icon appears in the notification area. Fare doppio clic sul pulsante per aprire la Host servizio WCF finestraDouble-click the icon to open the WCF Service Host window

Quando si verificano errori durante l'hosting del servizio, verrà aperta la finestra Host servizio WCF per visualizzare informazioni rilevanti.When errors occur during service hosting, WCF Service Host dialog box will open to display relevant information.

Il Host servizio WCF finestra principale contiene due menu:The WCF Service Host main window contains two menus:

  • File: contiene il Chiudi e Exit comandi.File: Contains the Close and Exit commands. Quando fa clic su Chiudi, Host servizio WCF chiude la finestra di dialogo, ma i servizi continuano a essere ospitati.When you click Close, the WCF Service Host dialog box closes, but the services continue to be hosted. Quando fa clic su uscita, chiuso anche Host servizio WCF.When you click Exit, WCF Service Host is also shut down. Questo arresta anche tutti i servizi in hosting.This also stops all hosted services.

  • Guida in linea: contiene il sulle comando che contiene informazioni sulla versione.Help: Contains the About command that contains version information. Contiene inoltre il Guida comando che è possibile aprire un file della Guida.It also contains the Help command that can open a help file.

Il principale Host servizio WCF finestra contiene due aree:The main WCF Service Host window contains two areas:

  • La prima area è servizio.The first area is Service. Contiene un elenco che visualizza informazioni di base su tutti i servizi.It contains a list that displays basic information of all services. Le informazioni includono:The information includes:

    • Servizio: Elenca tutti i servizi.Service: Lists all the services.

    • Stato: elenca lo stato del servizio.Status: Lists the status of the service. I valori validi sono "Avviato", "Stopped" e "Error".Valid values are "Started", "Stopped," and "Error".

    • Indirizzo dei metadati: Visualizza l'indirizzo dei metadati dei servizi.Metadata Address: Displays the metadata address of the services.

  • La seconda area è informazioni aggiuntive.The second area is Additional Information. Visualizza una spiegazione dettagliata dello stato del servizio quando è selezionata la riga del servizio specifica nel servizio area.It displays a detailed explanation of the service status when the specific service line is selected in the Service area. Se lo stato è Errore, è possibile visualizzare il messaggio di errore completo sullo schermo.If the status is Error, you can view the full error message on the screen.

Interruzione dell'Host servizio WCFStopping WCF Service Host

È possibile arrestare Host servizio WCF in quattro modi seguenti:You can shut down WCF Service Host in the following four ways:

  • Arrestare la sessione di debug in Visual Studio.Stop the debugging session in Visual Studio.

  • Selezionare uscita dal File dal menu di Host servizio WCF finestra.Select Exit from the File menu in the WCF Service Host window.

  • Selezionare uscita dal menu di scelta rapida dell'icona della barra delle applicazioni Host servizio WCF nell'area di notifica del sistema.Select Exit from context menu of WCF Service Host tray icon in the system notification area.

  • Se è in uso, uscire dal Client di prova WCF.Exit WCF Test Client if it is being used.

Utilizzo di Host servizio senza privilegio di amministratoreUsing Service Host without Administrator privilege

Per consentire agli utenti senza privilegio di amministratore di sviluppare servizi WCF, viene creato un ACL (Access Control List) per lo spazio dei nomi "http://+:8731/Design_Time_Addresses" durante l'installazione di Visual Studio.To enable users without administrator privilege to develop WCF services, an ACL (Access Control List) is created for the namespace "http://+:8731/Design_Time_Addresses" during the installation of Visual Studio. L'ACL viene impostato su (UI) che include tutti gli utenti interattivi che hanno eseguito l'accesso al computer.The ACL is set to (UI), which includes all interactive users logged on to the machine. Gli amministratori possono aggiungere o rimuovere utenti da questo ACL oppure aprire porte aggiuntive. Questo ACL consente agli utenti di utilizzare Host automatico del servizio WCF (wcfSvcHost.exe) senza concedere loro privilegi di amministratore.Administrators can add or remove users from this ACL, or open additional ports.This ACL enables users to use the WCF Service Auto Host (wcfSvcHost.exe) without granting them administrator privileges.

È anche possibile modificare l'accesso utilizzando lo strumento netsh.exe in Windows VistaWindows Vista con l'account di amministratore con privilegi elevati.You can modify access using the netsh.exe tool in Windows VistaWindows Vista under the elevated administrator account. Di seguito è riportato un esempio dell'utilizzo di netsh.exe.The following is an example of using netsh.exe.

netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>  

Per ulteriori informazioni su netsh.exe, vedere "sull'utilizzo dello strumento Netsh.exe e parametri della riga di comando".For more information on netsh.exe, see "How to Use the Netsh.exe Tool and Command-Line Switches".

Vedere ancheSee Also

Client di prova WCF (WcfTestClient.exe)WCF Test Client (WcfTestClient.exe)