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
- Dichiarare un servizio Web XML aggiungendo la direttiva @ WebService. Per ulteriori informazioni, vedere Dichiarazione di un servizio Web XML.
- Aggiungere metodi pubblici alla classe che implementa il servizio Web XML.
- 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