Scrivere un servizio Web usando Visual C# .NET

Questo articolo consente di scrivere un servizio Web, denominato MathService, che espone metodi per l'aggiunta, la sottrazione, la divisione e la moltiplicazione di due numeri.

Versione originale del prodotto: Visual C# .NET
Numero KB originale: 308359

Requisiti

L'elenco seguente descrive l'hardware, il software, le competenze e le conoscenze consigliate necessarie:

  • Microsoft Windows
  • Internet Information Server
  • Visual Studio .NET

Questo articolo presuppone che si abbia familiarità con l'argomento: Come usare l'ambiente di sviluppo integrato di Visual Studio .NET.

Scrivere un servizio Web asmx

  1. Aprire Visual Studio .NET.

  2. Scegliere Nuovo dal menu File e selezionare Progetto. In Tipi di progetto selezionare Progetti Visual C#. Selezionare quindi ASP.NET Servizio Web in Modelli. Digitare MathService nella casella di testo Percorso per modificare il nome predefinito (WebService1) in MathService.

  3. Modificare il nome del servizio Web predefinito creato da Service1.asmx in MathService.asmx.

  4. Selezionare Fare clic per passare alla visualizzazione codice nell'ambiente di progettazione.

  5. Definire metodi che incapsulano la funzionalità del servizio. Ogni metodo che verrà esposto dal servizio deve essere contrassegnato con un WebMethod attributo davanti a esso. Senza questo attributo, il metodo non verrà esposto dal servizio.

    Nota

    Non tutti i metodi devono avere l'attributo WebMethod . È utile nascondere alcuni dettagli di implementazione chiamati dai metodi del servizio Web pubblico o nel caso in cui la WebService classe venga usata anche nelle applicazioni locali. Un'applicazione locale può usare qualsiasi classe pubblica, ma solo WebMethod i metodi saranno accessibili in remoto come servizi Web.

    Aggiungere il metodo seguente alla MathServices classe creata:

    [WebMethod]
    public int Add(int a, int b)
    {
      return(a + b);
    }
    [WebMethod]
    public System.Single Subtract(System.Single A, System.Single B)
    {
      return (A - B);
    }
    [WebMethod]
    public System.Single Multiply(System.Single A, System.Single B)
    {
      return A * B;
    }
    [WebMethod]
    public System.Single Divide(System.Single A, System.Single B)
    {
      if(B == 0) return -1;
      return Convert.ToSingle(A / B);
    }
    
  6. Selezionare Compila dal menu Compila per compilare il servizio Web.

  7. Passare alla pagina del servizio Web MathService.asmx per testare il servizio Web. Se si imposta il computer locale per ospitare la pagina, l'URL è http://localhost/MathService/MathService.asmx.

Il runtime ASP.NET restituisce una pagina della Guida del servizio Web che descrive il servizio Web. Questa pagina consente anche di testare metodi di servizio Web diversi.

Utilizzare un servizio Web

  1. Aprire Visual Studio .NET.

  2. In Tipi di progetto selezionare Progetti Visual C#, quindi selezionare Applicazione console in Modelli.

  3. Aggiungere un riferimento per il servizio Web MathService alla nuova applicazione console.

    Questo passaggio crea una classe proxy nel computer client. Dopo l'esistenza della classe proxy, è possibile creare oggetti in base alla classe . Ogni chiamata al metodo effettuata con l'oggetto passa quindi all'URI (Uniform Resource Identifier) del servizio Web (in genere come richiesta SOAP).

    1. Scegliere Aggiungi riferimento Web dal menu Progetto.
    2. Nella finestra di dialogo Aggiungi riferimento Web digitare l'URL del servizio Web nella casella di testo Indirizzo e premere INVIO. Se si imposta il computer locale per ospitare il servizio Web, l'URL è http://localhost/MathService/MathService.asmx.
    3. Selezionare Aggiungi riferimento. In alternativa, è possibile digitare l'URL del file di individuazione (MathService.vsdisco) o selezionare Riferimenti Web nel server Web locale nel riquadro sinistro per selezionare il servizio MathService dall'elenco.
    4. Espandere la sezione Riferimenti Web di Esplora soluzioni e prendere nota dello spazio dei nomi usato.
  4. Creare un'istanza dell'oggetto proxy creato. Inserire il codice seguente nella funzione denominata Main:

    localhost.Service1 myMathService = new localhost.Service1();
    
  5. Richiamare un metodo sull'oggetto proxy creato nel passaggio precedente, come indicato di seguito:

    Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
    
  6. Selezionare Compila dal menu Compila per compilare l'applicazione console.

  7. Selezionare Avvia dal menu Debug per testare l'applicazione.

  8. Chiudere e salvare il progetto.

Riferimenti

Per altre informazioni, vedere l'argomento Programmazione del Web con servizi Web nella Guida di Visual Studio .NET oppure l'argomento ASP.NET Web Services and ASP.NET Web Service Clients (Programmazione del Web con servizi Web) nella Guida per sviluppatori di .NET Framework.

Per maggiori informazioni, visitare i seguenti siti Web: