Definizione dei metodi di un servizio Web XML

I metodi di una classe che implementa un servizio Web XML non vengono automaticamente utilizzati per le comunicazioni sul Web. Tuttavia, nei servizi Web XML creati con ASP.NET, è possibile aggiungere questa funzionalità in modo molto semplice. Per aggiungere questa funzionalità, applicare un attributo WebMethod ai metodi pubblici. I metodi di un servizio Web XML con cui è possibile comunicare tramite Web sono denominati metodi del servizio Web XML.

I metodi di un servizio Web XML sono una parte essenziale dell'infrastruttura di messaggistica impiegata dai servizi Web XML. Per impostazione predefinita, i client e i servizi Web XML comunicano infatti tramite messaggi, in particolare messaggi SOAP. I client inviano una richiesta SOAP a un servizio Web XML che reagisce con una risposta SOAP. I servizi Web XML definiscono il tipo di messaggi accettato tramite operazioni definite dal linguaggio WSDL (Web Services Description Language). Tali operazioni sono correlate a ogni metodo del servizio Web XML. Anche se ciascuno di tali metodi viene definito in ASP.NET utilizzando un metodo di una classe, è comunque importante sottolineare che i dati che verranno trasmessi in rete devono essere serializzati nel linguaggio XML. È pertanto fondamentale ricordare che i servizi Web XML non sostituiscono DCOM, ma rappresentano piuttosto una infrastruttura di messaggistica per le comunicazioni tra piattaforme che utilizzano standard industriali.

Per dichiarare un metodo di servizio Web XML

  1. Dichiarare un servizio Web XML aggiungendo la direttiva @ WebService. Per ulteriori informazioni, vedere Dichiarazione di un servizio Web XML.
  2. Aggiungere metodi pubblici alla classe che implementa il servizio Web XML.
  3. Applicare l'attributo WebMethod ai metodi pubblici di cui si desidera eseguire il mapping alle operazioni.

Nell'esempio di codice seguente vengono presentati due metodi pubblici, uno dei quali è un metodo di servizio Web XML. Il metodo Multiply è un metodo di servizio Web XML in quanto presenta l'attributo WebMethod.

<%@ WebService Language="C#" Class="Util" %>
    using System;
    using System.Web.Services;
    public class Util: WebService 
     {
       public int Add(int a, int b) 
       {
          return a + b;
       }
    
       [ WebMethod]       public long Multiply(int a, int b) 
       {
          return a * b;
       }
   }
[Visual Basic]
<%@ WebService Language="VB" Class="Util" %>
    Imports System
    Imports System.Web.Services
    Public Class Util 
       Inherits WebService

       Public Function Add(a As Integer, b As Integer) As Integer
          Return a + b
       End Function
    
       < WebMethod()> _       Public Function Multiply(a As Integer, b As Integer) As Long
          Return a * b
       End Function
   End Class

Vedere anche

Classe WebMethodAttribute | Generazione di servizi Web XML mediante ASP.NET | Dichiarazione di un servizio Web XML