Walkthrough: Creating and Accessing WCF Services
Data di pubblicazione: aprile 2016
In questa procedura dettagliata viene illustrato come creare un semplice servizio Windows Communication Foundation (WCF), testarlo e accedervi da un'applicazione Windows Form.
Nota
Nomi o percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzazione dell'IDE.
Creazione del servizio
Per creare un servizio WCF
Scegliere Nuovo dal menu File, quindi scegliere Progetto.
Nella finestra di dialogo Nuovo progetto espandere il nodo Visual Basic o Visual C# e fare clic su WCF, seguito da Libreria del servizio WCF. Fare clic su OK per aprire il progetto.
Nota
Viene creato un servizio di lavoro che può essere testato e a cui è possibile accedere. I due passaggi seguenti mostrano come modificare il metodo predefinito per usare un tipo di dati diverso. In un'applicazione reale verrebbero aggiunte anche le funzioni dell'utente al servizio.
-
In Esplora soluzioni fare doppio clic su IService1.vb o IService1.cs, quindi trovare la seguente riga:
[OperationContract] string GetData(int value);
<OperationContract()> Function GetData(ByVal value As Integer) As String
Modificare il tipo per il parametro
value
suString
:[OperationContract] string GetData(string value);
<OperationContract()> Function GetData(ByVal value As String) As String
Nel codice precedente annotare gli attributi
<OperationContract()>
o[OperationContract]
. Questi attributi sono richiesti per tutti i metodi esposti dal servizio. -
In Esplora soluzioni fare doppio clic su Service1.vb o Service1.cs, quindi trovare la seguente riga:
public string GetData(int value) { return string.Format("You entered: {0}", value); }
Public Function GetData(ByVal value As Integer) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
Modificare il tipo per il parametro value su
String
:public string GetData(string value) { return string.Format("You entered: {0}", value); }
Public Function GetData(ByVal value As String) As String Implements IService1.GetData Return String.Format("You entered: {0}", value) End Function
Test del servizio
Per testare un servizio WCF
Premere F5 per eseguire il servizio. Viene visualizzato un form Client di prova WCF che carica il servizio.
Nel form Client di prova WCF fare doppio clic sul metodo GetData() in IService1. Viene visualizzata la scheda GetData.
Nella casella Richiesta selezionare il campo Valore e digitare
Hello
.Fare clic sul pulsante Richiama. Se viene visualizzata una finestra di dialogo Avviso di sicurezza fare clic su OK. Il risultato viene visualizzato nella casella Risposta.
Nel menu File fare clic su Esci per chiudere il form di test.
Accesso al servizio
Per fare riferimento a un servizio WCF
Nel menu File scegliere Aggiungi e fare clic su Nuovo progetto.
Nella finestra di dialogo Nuovo progetto espandere il nodo Visual Basic o Visual C#, selezionare Windows, quindi scegliere Applicazione Windows Form. Fare clic su OK per aprire il progetto.
Fare clic con il pulsante destro del mouse su WindowsApplication1, quindi scegliere Aggiungi riferimento al servizio. La finestra di dialogo Aggiungi riferimento al servizio viene visualizzata.
Nella finestra di dialogo Aggiungi riferimento al servizio fare clic su Individua.
Service1 viene visualizzato nel riquadro Servizi.
Fare clic su OK per aggiungere il riferimento al servizio.
Per compilare un'applicazione client
In Esplora soluzioni fare doppio clic su Form1.vb o Form1.cs per aprire Progettazione Windows Form, se non è già aperto.
Dalla Casella degli strumenti trascinare i controlli
TextBox
,Label
eButton
nel form.Fare doppio clic su
Button
e aggiungere il seguente codice nel gestore eventiClick
: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; }
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
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. L'etichetta visualizza "Valore immesso:" e il testo immesso.