Procedura dettagliata: creazione e accesso ai servizi WCF
In questa procedura dettagliata viene illustrato come creare un semplice servizio Windows Communication Foundation (WCF), eseguirne il test e quindi accedervi da un'applicazione Windows Form.
Nota
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Creazione del servizio
Per creare un servizio WFC
Scegliere Nuovo dal menu File, quindi scegliere Progetto.
Nella finestra di dialogo Nuovo progetto, espandere il nodo Visual Basic o Visual C#, scegliere WCF, quindi Libreria del servizio WCF. Scegliere OK per aprire il progetto.
Nota
In questo modo viene creato un servizio effettivamente accessibile e di cui è possibile eseguire il test. Nei due passaggi seguenti viene illustrata la procedura per modificare il metodo predefinito e utilizzare un diverso tipo di dati. In un'applicazione reale, sarebbe necessario aggiungere le funzioni personalizzate al servizio.
In Esplora soluzioni, fare doppio clic su IService1.vb o IService1.cs e cercare la riga seguente:
<OperationContract()> Function GetData(ByVal value As Integer) As String
[OperationContract] string GetData(int value);
Modificare il tipo per il parametro value in String:
<OperationContract()> Function GetData(ByVal value As String) As String
[OperationContract] string GetData(string value);
Nel codice precedente, notare gli attributi <OperationContract()> o [OperationContract]. Questi attributi sono necessari per qualsiasi metodo esposto dal servizio.
In Esplora soluzioni, fare doppio clic su Service1.vb o Service1.cs e cercare la riga seguente:
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(int value) { return string.Format("You entered: {0}", value); }
Modificare il tipo per il parametro del valore in String:
Public Function GetData(ByVal value As String) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
public string GetData(string value) { return string.Format("You entered: {0}", value); }
Test del servizio
Per testare un servizio WFC
Premere F5 per eseguire il servizio. Verrà visualizzato un form di Client di test WCF e verrà caricato il servizio.
Nel form Client di test WCF fare doppio clic sul metodo GetData() sotto IService1. Verrà visualizzata la scheda GetData.
Nella casella Richiesta selezionare il campo Valore e digitare Hello.
Fare clic sul pulsante Invoke. Se viene visualizzata la finestra di dialogo Avviso di sicurezza, fare clic OK. Il risultato verrà visualizzato nella casella Risposta.
Scegliere Esci dal menu File per chiudere il form di test.
Accesso al servizio
Per fare riferimento a un servizio WCF
Scegliere Aggiungi dal menu File, quindi fare clic su Nuovo progetto.
Nella finestra di dialogo Nuovo progetto, espandere il nodo Visual Basic o Visual C# e selezionare Windows, quindi scegliere Applicazione Windows Form. Scegliere OK per aprire il progetto.
Fare clic con il pulsante destro del mouse su WindowsApplication1, quindi scegliere Aggiungi riferimento al servizio. Verrà visualizzata la finestra di dialogo Aggiungi riferimento a servizio.
Nella finestra di dialogo Aggiungi riferimento a servizio fare clic sul Individua.
Verrà visualizzato Service1 nel riquadro Servizi.
Per aggiungere il riferimento al servizio, scegliere OK.
Per compilare un'applicazione client
In Esplora soluzioni, fare doppio clic su Form1.vb o Form1.cs per aprire la Progettazione Windows Form se non è già aperta.
Dalla Casella degli strumenti trascinare un controllo TextBox, uno Label e un controllo Button nel form.
Fare doppio clic suButton e aggiungere il seguente codice nel gestore eventi Click.
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim client As New ServiceReference1.Service1Client Dim returnString As String returnString = client.GetData(TextBox1.Text) Label1.Text = returnString End Sub
private void button1_Click(System.Object sender, System.EventArgs e) { ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); string returnString; returnString = client.GetData(textBox1.Text); label1.Text = returnString; }
In Esplora soluzioni fare clic con il pulsante destro del mouse su WindowsApplication1 quindi scegliere Imposta come progetto di avvio.
Premere F5 per eseguire il progetto. Immettere del testo e fare clic sul pulsante. Nell'etichetta verrà visualizzato "You entered:" e il testo immesso.