Home    Novità    Ricerca   In offerta   Consigliati   Prossimi arrivi   Bestsellers   Software    CBT  
P.Iva 01029770490   [Ordini telefonici 0586 210919]  Ordini rapidi 
Ricerca Veloce   per Titolo o ISBN  [Mailing delle novità]   [Servizio di CallBack]  
  Argomenti 

  Applicazioni
  CAD
  Certificazione e formazione
  Commercio elettronico
  Cultura Informatica
  Database
  Dizionari
  Elettronica
  Enterprise
  Grafica
  Hardware
  Internet
  Legislazione informatica
  Multimedia
  Progettazione WEB
  Programmazione
  Reti e telecomunicazioni
  Sicurezza
  Sistemi operativi
  Tecnologia e societa'
  Universita' e ricerca
Programmazione.NET



ASP .NET 2.0 passo per passo
EditoreMondadori Informatica
AutoreShepherd George
Titolo originaleMicrosoft ASP .NET 2.0 step by step
Editore originaleMicrosoft Press
CollanaPasso per passo
Pagine421
Volumi1
LivelloIntroduttivo-Intermedio
LinguaItaliano
Data pubblicazione02 - 2006
ISBN8804541415


 Prezzo di copertina 
 Euro 50,00  

 Presentazione       Indice      

Introduzione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Ringraziamenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxiii

1 Nozioni generali sulle applicazioni Web . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Richieste HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Richieste HTTP da un browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Effettuazione di richieste HTTP senza un browser . . . . . . . . . . . . . . . . . . . . . . . . . 4
HyperText Markup Language (HTML) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Contenuto dinamico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Form HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Common Gateway Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
La piattaforma Microsoft come server Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Internet Information Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
DLL della Application Programming Interface di Internet Services . . . . . . . . . . 10
Internet Information Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
ASP classico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Problematiche di sviluppo Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Capitolo 1 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Nozioni principali sulle applicazioni ASP.NET . . . . . . . . . . . . . . . . . . . . . 19
L’applicazione canonica Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Costruzione dell’applicazione Web HelloWorld . . . . . . . . . . . . . . . . . . . . . . . . . 20
Integrazione di HTML e codice eseguibile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Blocchi eseguibili sul lato server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Il modello di compilazione ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Visualizzazione degli assembly ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Opzioni di codifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Lo stile ASP.NET 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Lo stile ASP.NET 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
La pipeline ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Percorso di richiesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Visual Studio e ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Tipologie di siti Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Capitolo 2 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Modello di rendering della pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Rendering dei controlli come tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Assemblaggio della UI come insieme di componenti . . . . . . . . . . . . . . . . . . . . . . . . 52
La pagina con ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Il modello di rendering della pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
La struttura di controllo della pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Aggiunta di controlli mediante Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Costruzione di una pagina con Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Considerazioni sul layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Capitolo 3 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4 Controlli di rendering personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
La classe Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Visual Studio e i controlli personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Creazione di un controllo personalizzato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Verifica palindroma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Il controllo per la verifica palindroma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Controlli ed eventi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Aggiunta di un evento PalindromeFound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
HtmlTextWriter e i controlli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Utilizzo di HtmlTextWriter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Controlli e stato della visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Utilizzo dello stato della visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Capitolo 4 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5 Controlli compositi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Controlli compositi e controlli di rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Controlli compositi personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Il controllo per la verifica palindroma come controllo
composito personalizzato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Controlli utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Il controllo per la verifica palindroma come controllo utente . . . . . . . . . . . . . . 99
Quando utilizzare i vari tipi di controlli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Capitolo 5 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

6 Controlli vari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Convalida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Funzionamento della convalida di pagina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Altre convalide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Proprietà delle convalide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
TreeView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
MultiView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Capitolo 6 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

7 Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Breve storia delle Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Efficacia delle Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Sviluppo di controlli Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Sviluppo di pagine Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Sviluppo di applicazioni Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Architettura delle Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
WebPartManager e WebZones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Zone incorporate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Web part incorporate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Sviluppo di una Web part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Capitolo 7 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

8 Coerenza dell’aspetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Creazione di un aspetto coerente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Pagine master ASP.NET 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Temi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Interfacce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Capitolo 8 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

9 Configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Configurazione di Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Configurazione di .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Machine.Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Gestore della sezione di configurazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Web.Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Configurazione in ASP.NET 1.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Configurazione in ASP.NET 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Lo strumento di amministrazione di ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Snap-in MMC per ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Capitolo 9 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

10 Accesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Protezione basata su Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Protezione di IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Autenticazione di base dei form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Servizi di autenticazione ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
La classe FormsAuthentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Pagina di accesso facoltativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Gestione degli utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Controlli di accesso ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Autorizzazione degli utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Capitolo 10 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

11 Associazione dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Rappresentazione degli insiemi senza associazione dati . . . . . . . . . . . . . . . . . . . . . 211
Rappresentazione degli insiemi con associazione dati . . . . . . . . . . . . . . . . . . . . . . 212
Controlli basati su ListControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
TreeView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
FormView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
GridView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
DetailsView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
DataList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Repeater . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Associazione dati semplice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Accesso ai database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Storia dei database .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Connessioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Comandi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Gestione dei risultati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Origini dati ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Altri controlli associati ai dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Capitolo 11 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

12 Personalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Personalizzazione delle visite Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Personalizzazione in ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Profili utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Provider di personalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Utilizzo della personalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Definizione dei profili in Web.Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Utilizzo delle informazioni di profilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Salvataggio delle modifiche ai profili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Profili e utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Capitolo 12 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

13 Stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Scopo dello stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
ASP.NET e lo stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Indicazioni sullo stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Stato sessione e dati più complessi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Configurazione dello stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Disattivazione dello stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Archiviazione dello stato sessione InProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Registrazione dello stato sessione in un server di stato . . . . . . . . . . . . . . . . . . 261
Registrazione dello stato sessione in un database . . . . . . . . . . . . . . . . . . . . . . . 262
Traccia dello stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Traccia dello stato sessione mediante i cookie . . . . . . . . . . . . . . . . . . . . . . . . . 262
Traccia dello stato sessione mediante l’URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Utilizzo di AutoDetect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Applicazione dei profili di periferica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Timeout dello stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Altre impostazioni di configurazione dello stato sessione . . . . . . . . . . . . . . . . . . . 264
Il controllo Wizard: un’alternativa allo stato sessione . . . . . . . . . . . . . . . . . . . . . . . 264
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Capitolo 13 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

14 Cache dei dati dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Utilizzo della cache dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Impatto dell’utilizzo della cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Gestione della cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
DataSet in memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Scadenza della cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Dipendenze della cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
La dipendenza SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Cancellazione della cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Capitolo 14 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

15 Cache dell’output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Cache del contenuto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
Gestione del contenuto nella cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Modifica della direttiva OutputCache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
HttpCachePolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Cache dei percorsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Dipendenze della cache dell’output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Cache dei profili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Cache dei controlli utente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Utilizzo razionale della cache dell’output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Capitolo 15 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

16 Analisi e debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Analisi delle pagine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Attivazione dell’analisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Istruzioni di analisi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Analisi dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Abilitazione dell’analisi da programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
L’evento TraceFinished . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Accodamento degli altri messaggi di analisi . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Debug con Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Pagine d’errore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Eccezioni non gestite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Capitolo 16 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

17 I moduli applicazione e HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
L’applicazione: un punto d’incontro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Override di HttpApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Avvertenze sullo stato applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Gestione degli eventi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Eventi HttpApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
HttpModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Moduli esistenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Implementazione di un modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Visualizzazione dei moduli attivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Registrazione dello stato nei moduli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Global.asax e HttpModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Capitolo 17 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352

18 Gestori personalizzati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Gestori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Gestori incorporati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
IHttpHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Implementazione di IHttpHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
CustomFormHandler mediante VB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Gestori e stato sessione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Gestori generici (File ASHX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Capitolo 18 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

19 Servizi Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Servizi remoti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Servizi remoti sul Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Simple Object Access Protocol (SOAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Trasporto del tipo System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Linguaggio di descrizione dei servizi Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Se non è possibile utilizzare ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Un servizio Web in ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Utilizzo dei servizi Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Esecuzione asincrona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Servizi Web in Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Efficacia dei servizi Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Altre funzionalità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Conclusioni 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Capitolo 19 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

20 Gestione e distribuzione delle applicazioni Web . . . . . . . . . . . . . . . . . 397
Progetti Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Progetto HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Progetto FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Progetto File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Precompilazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Precompilazione orientata alle prestazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
Precompilazione per la distribuzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Conclusione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Capitolo 20 - Riferimento rapido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

Indice analitico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .411


  Login 

  Non ricordo la password
  Nuovo account
  Cliente 

  Il carrello

 Carrello 

  Informazioni 

  Contatti
  Qualità del servizio
  Costi e tempi di consegna
  Modalità di pagamento
  Prezzi
  Sconti
  Privacy