La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ASP.NET & Web Service: Introduzione Andrea Saltarello Microsoft.NET MVP UGIdotNET –

Presentazioni simili


Presentazione sul tema: "ASP.NET & Web Service: Introduzione Andrea Saltarello Microsoft.NET MVP UGIdotNET –"— Transcript della presentazione:

1 ASP.NET & Web Service: Introduzione Andrea Saltarello Microsoft.NET MVP UGIdotNET –

2 2 Prerequisiti Abbiamo bisogno di: Il framework.NET (v1.x) Un ambiente di sviluppo Visual Studio.NET Microsoft Web Matrix Notepad (?) Un web server ASP.NET enabled IIS5+ Cassini (è il web server di Web Matrix)

3 3 Funzionalità dei Web Services Programmable logic accessible by standard Web protocols Permettono alle applicazioni di inviare e ricevere informazioni tramite Internet Indipendenti da linguaggi, protocolli e piattaforme Architettura stateless Possono funzionare in modo asincrono Basati su standard W3c in evoluzione

4 4 ASP.NET e i Web Services Il motore dei Web Service nel mondo.NET è ASP.NET I Web Service sono contenuti da applicazioni web normali Web Form e Web Service possono coesistere nella stessa applicazione Session, Application & C. vengono condivise

5 5 Creare un XML Web Service 1. Creare/aggiungere un nuovo XML Web Service mediante Visual Studio.NET 2. Definire le funzioni WebMethod 3. Compilare il progetto web 4. Effettuare un test mediante browser

6 6 Aggiungere il WS a VS Aggiungere il WS a VS

7 7

8 8 Struttura di un Web Service Visual Studio.NET crea 2 file: File.asmx File.cs (o.vb)

9 9 Struttura di un Web Service Il file ASMX: Permette al web server di girare la richiesta http a ASP.NET Contiene la direttiva WebService

10 10 Struttura di un Web Service Class Service1 Public Function function1() As type Public Function function1() As type corpo della funzione corpo della funzione End Function End Function End Class Class Service1 Public Function function1() As type Public Function function1() As type corpo della funzione corpo della funzione End Function End Function End Class Il file.cs (o.vb): Contiene la classe che implementa il Web Service class Service1 { [WebMethod()] [WebMethod()] public type function1() public type function1() { //corpo della funzione //corpo della funzione }} class Service1 { [WebMethod()] [WebMethod()] public type function1() public type function1() { //corpo della funzione //corpo della funzione }}

11 11 Definire i Web Method La classe che implementa il Web Service Può derivare System.Web.Services.WebService (ne riparleremo…) Espone i servizi sotto forma di metodi pubblici decorati con lattributo WebMethod (è obbligatorio). Questi metodi: Sono chiamati metodi web (web methods) Possono accettare come parametri e restituire solo istanze di tipi serializzabili Contengono leffettiva implementazione del servizio

12 12 Definire i Web Method

13 13 Provare il Web Service Il runtime di ASP.NET pubblica automaticamente una welcome page per il WS. La welcome page: Può essere personalizzata Visualizza (mediante Reflection) tutti i metodi web disponibili Permette di provare (solo in locale) i metodi web

14 14 Provare il Web Service

15 15 Provare il Web Service

16 16 demo

17 17 Usare Web Service: la classe proxy Si presenta come la classe "originale", ma non contiene logica applicativa Usa SOAP per interagire con il Web Service Implementa anche i membri per luso asincrono del WS Creata a partire dal file WSDL Internet XML Web Service Proxy Web Form

18 18 Creare la classe proxy VS.NET crea la classe proxy partendo dal documento WSDL (Web Services Definition Language) Il documento WSDL Contiene lelenco dei web method e dei tipi in input/output E prodotto da ASP.NET Raggiungibile con lurl: E linkato dalla welcome page

19 19 Provare il Web Service

20 20 Il documento WSDL

21 21 Creare la classe proxy 1. Creare una Web reference per il Web Service 2. Creare una istanza della classe proxy 3. Chiamare i metodi web del Web Service 4. Eseguire lapplicazione consumer Sub Button1_Click(s As Object, e As EventArgs)... Dim MyMath As New spc.halo.mswebcast.Math() Dim r As Integer = MyMath.Sum(8, 54) End Sub Sub Button1_Click(s As Object, e As EventArgs)... Dim MyMath As New spc.halo.mswebcast.Math() Dim r As Integer = MyMath.Sum(8, 54) End Sub

22 22 Creare una Web Reference

23 23 Creare una Web Reference

24 24 Creare una Web Reference

25 25 demo

26 26 Lattributo WebService Lattributo WebService: Non è obbligatorio (ma noi lo applichiamo ) Permette di specificare il target namespace (importante!) Permette di specificare una descrizione per il Web Service

27 27 Proprietà di WebServiceAttribute ProprietàDescrizione Description Permette di specificare la descrizione del Web Service da inserire nel documento WSDL e nella pagina di presentazione prodotta da ASP.NET Name Permette di definire per il Web Service un nome differente da quello fornito alla classe che lo implementa Namespace Permette di definire il target namespace utilizzato dal Web service

28 28 Provare il Web Service

29 29 Impostare il Namespace Impostare il namespace rende non ambigui i tipi di dato veicolati dal web service Per ottenere questo: Il nome del namespace non deve essere ambiguo Tipicamente si usa un nome di dominio DNS come parte del namespace

30 30 Impostare il Namespace _ _ Class Service1 _ _ Public Function function1() As type corpo della funzione corpo della funzione End Function End Function End Class _ _ Class Service1 _ _ Public Function function1() As type corpo della funzione corpo della funzione End Function End Function End Class [WebService(Namespace=http://miosito/NS/)] class Service1 { [WebMethod()] [WebMethod()] public type function1() public type function1() { //corpo della funzione //corpo della funzione }}[WebService(Namespace=http://miosito/NS/)] class Service1 { [WebMethod()] [WebMethod()] public type function1() public type function1() { //corpo della funzione //corpo della funzione }}

31 31 demo

32 32 Lattributo WebMethod Lattributo WebMethod: E obbligatorio Permette di specificare una descrizione per il metodo web

33 33 Proprietà di WebMethodAttribute ProprietàDescrizione BufferResponse Permette di abilitare/disabilitare il buffering. Se impostata a true¸ ASP.NET comporrà lintero pacchetto HTTP di risposta in un buffer prima di inviarlo al client CacheDuration Permette di specificare il tempo, in secondi, di permanenza in cache della risposta generata per il metodo web. Description Permette di specificare la descrizione del metodo web da inserire nel documento WSDL e nella pagina di presentazione del Web Service.

34 34 Proprietà di WebMethodAttribute ProprietàDescrizione EnableSession Se impostato a true, permette al metodo web di avvalersi dei servizi di gestione delle sessioni forniti da ASP.NET MessageName Permette di impostare un alias per il nome del metodo web TransactionOption Permette al metodo web di partecipare ad una transazione nel ruolo di oggetto root della stessa.

35 35 demo

36 36 Link Web: Newsgroup: (news.microsoft.com) nntp://microsoft.public.it.dotnet.framework. webservices nntp://microsoft.public.it.dotnet.framework. webservices nntp://microsoft.public.it.dotnet.soap

37 37 Prossimi appuntamenti Consumare Web Services 20 Febbraio 2004 (14:30-16:00) Advanced Web Services 27 Febbraio 2004 (14:30-16:00)

38 38 © Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Scaricare ppt "ASP.NET & Web Service: Introduzione Andrea Saltarello Microsoft.NET MVP UGIdotNET –"

Presentazioni simili


Annunci Google