Manuali Scontati

Manuali Scontati

Manuali Gratis > Programmazione > Visual Basic

Manuale Programmare Visual Basic .NET - versione 2003

Editore: Mondadori Informatica
Pagine: 1311
Autore: Balena Francesco
Collana: Programming series

Acquistalo a prezzo scontato:
Manuali Scontati
Data Pubblicazione: 2004-04-01
ISBN: 8804530782
Prezzo: 75.00 €
Lingua: Italiano

Quarta di copertina

Nuova edizione con oltre 300 pagine di nuovi contenuti, completamente aggiornata per:
  • Microsoft .NET Framework 1.1
  • Microsoft Visual Studio .NET 2003
  • Microsoft Windows Server 2003
La piu' autorevole guida di riferimento in un unico volume per i programmatori Visual Basic, adesso aggiornata a Visual Studio .NET 2003.

Scritta da un esperto mondiale del settore, questa guida e' ricca di suggerimenti, di esempi pratici di codice e di principi fondamentali per arricchire le proprie conoscenze su Visual Basic .NET 2003. Aggiornata a Microsoft .NET Framework 1.1, Visual Studio .NET 2003 e Windows Server 2003, questa apprezzatissima guida di riferimento tratta in modo ancora piu' approfondito le funzionalita' di Visual Basic .NET e permette di aumentare la produttivita' con nuove caratteristiche e tecniche per scrivere codice piu' veloce e piu' affidabile. Dall'analisi esaustiva delle caratteristiche piu' avanzate del linguaggio a oggetti al riuso di codice legacy Visual Basic, questa guida di riferimento esaustiva e' uno strumento di orientamento professionale e pragmatico alle competenze necessarie per produrre soluzioni sofisticate per Microsoft Windows e per il Web.

Con questa guida scopri come:

  • Manipolare le classi del .NET Framework utilizzando la serializzazione, il threading e la reflection
  • Creare componenti per gestire meglio grossi programmi e risolvere problemi di versione
  • Lavorare con GDI+, i controlli personalizzati Windows Forms e i servizi Windows
  • Sviluppare applicazioni database utilizzando Microsoft ADO.NET e dati XML
  • Utilizzare il data binding Web Forms per creare sofisticate interfacce per applicazioni Internet
  • Utilizzare le funzionalita' Microsoft ASP.NET, tra cui i controlli utente e i controlli personalizzati, la cache, i servizi di sicurezza e i servizi Web
  • NOVITA' - Come e quando utilizzare il .NET Remoting e i Component Services
  • NOVITA' - Invocare codice non gestito con Plnvoke e C0M Interop
  • NOVITA' - Utilizzare la Code Access Security e ulteriori tecniche per implementare applicazioni sicure
  • NOVITA' - Scrivere, effettuare il debug e creare impostazioni di sicurezza per applicazioni Windows Forms da distribuire via HTTP
Fasi: Progettazione di soluzioni - Implementazione di codice - Test e debug

II CD-ROM contiene:

  • Gli esempi di codice Visual Basic .NET 2003 descritti nel libro
  • Contenuti extra sulla gerarchia di classi e gli strumenti del .NET Framework
  • eBook completo con versione originale del testo in lingua inglese
  • La versione eBook del libro Programmare Microsoft Visual Basic 6.0
  • Database di esempio
Francesco Balena programma in Visual Basic sin dalla versione 1.0. Svolge attivita' di formazione e consulenza per Wintellect, e' autore dell'apprezzatissima prima edizione di questo libro, e' contributing editor di Visual Studio Magazine, nonche' direttore della rivista italiana Visual Basic & .NET Journal e speaker in importanti conferenze mondiali dedicate agli sviluppatori.

Prefazione
Quando Microsoft dispone di una nuova tecnologia sulla quale i propri sviluppatori vogliono essere informati, organizza un System Design Review (SDR). Nell'ottobre del 1999, sono stato abbastanza fortunato da essere invitato ad un SDR su quello che veniva allora chiamata COM+ 2.0. Nella mia carriera mi sono interessato molto piu' alle API Win 32 che non a COM e pertanto normalmente non sarei mai andato ad un evento di questo tipo. Tuttavia dal momento che non avevo molto da fare in quel periodo, ho deciso di partecipare per dare un'occhiata alle novita' che Microsoft aveva in serbo con COM. Ebbene, sono rimasto letteralmente annichilito! COM+ 2.0 non era semplicemente un miglioramento di COM; rappresentava un modo completamente diverso per sviluppare software e componenti. Per me era ovvio: questo nuovo COM costituiva il futuro di quasi tutto lo sviluppo software. Quando gli sviluppatori di Microsoft si sono effettivamente resi conto che cio' che stavano realizzando era ben piu' di una nuova versione di COM, il nome della nuova tecnologia e' stato modificato da COM+ 2.0 a Microsoft .NET Framework - come oggi e' universalmente conosciuta questa piattaforma di sviluppo. Il .NET Framework consente agli sviluppatori di creare applicazioni robuste in modo facile e veloce. Questa nuova piattaforma risolve anche numerosi problemi che hanno tormentato Windows per anni: l'inferno delle DLL, i problemi di sicurezza, i memory leakage, la corruzione della memoria, l'incoerenza delle API e delle modalita' di gestione degli errori e via dicendo.
Subito dopo l'SDR, sono diventato un consulente del gruppo del .NET Framework ed ho sviluppato quasi esclusivamente per questa nuova piattaforma per almeno due anni. E devo dire che la adoro! E non intendo assolutamente tornare indietro a C e C++. Coloro che intendono intraprendere una carriera nell'ambito dello sviluppo software, dovrebbero senza ombra di dubbio cominciare a conoscere e ad utilizzare il .NET Framework. Attualmente Microsoft offre numerose tecnologie differenti per conseguire obiettivi diversi:

  • Per creare siti Web dinamici, occorre imparare Visual Basic Scripting Editing o JScript.
  • Per creare applicazioni per database ad elevate prestazioni, e' necessario conoscere il T-SQL.
  • Per creare componenti scalabili in grado di utilizzare in modo efficiente la memoria, occorre utilizzare C/C++ ed a scelta MFC ed ATI.
  • Per automatizzare le applicazioni per la produttivita' personale (come Microsoft Word ed Excel), occorre utilizzare Visual Basic for Applications.
  • Per realizzare velocemente applicazioni GUI, e' necessario conoscere Visual Basic.
Le "soluzioni" attuali sono realizzate da sviluppatori che utilizzano gran parte di queste tecnologie. Ad esempio, molti siti Web dinamici utilizzano componenti scalabili che accedono a database, il che significa che molti programmatori devono conoscere correntemente tutte queste diverse tecnologie e tutti questi linguaggi di programmazione. Ovviamente, cio' rappresenta una grande mole di lavoro, e sono poche le persone (ammesso che ve ne siano) in grado di padroneggiare tutte le tecnologie e tutti i linguaggi di programmazione. Dal momento che Il .NET Framework puo' essere utilizzato per eseguire le attivita' appena elencate, si assistera' ad un vero e proprio collasso delle tecnologie attuali in una sola - il .NET Framework. Il .NET Framework consente agli sviluppatori di creare siti Web dinamici e scalabili, componenti in grado di sfruttare la memoria in modo efficiente e consentira' di realizzare velocemente applicazioni GUI. Poco dopo il suo rilascio il .NET Framework verra' utilizzato da Microsoft SQL Server per offrire un accesso a database ad elevate prestazioni. Col passare del tempo, applicazioni di produttivita' come Microsoft Word ed Excel utilizzeranno il .NET Framework per elaborare macro che automatizzino il proprio comportamento. Imparare oggi il .NET Framework dara' un enorme vantaggio in termini di conoscenza su come eseguire tutte queste attivita'. Qualcuno potra' davvero diventare un vero e proprio esperto in tutte queste tecnologie.
Il libro di Francesco rappresenta un eccezionale punto di partenza per la comprensione del .NET Framework. Questo libro copre tutti gli argomenti principali che ogni sviluppatore .NET dovrebbe conoscere. Per spiegare e dimostrare tali argomenti, Francesco ha scelto il popolare linguaggio Visual Basic .NET. I programmatori che possiedono gia' una certa familiarita' con Visual Basic troveranno in questo libro un valido aiuto per migrare il codice esistente, in quanto Francesco evidenzia con chiarezza i punti che hanno subito modifiche nel passaggio da Visual Basic 6 a Visual Basic .NET. Ma coloro che non conoscono ancora il linguaggio troveranno in questo libro un ottimo mezzo per imparare a conoscere il .NET Framework, in quanto i concetti esposti si applicano a tutti i linguaggi rivolta al .NET Framework.
Francesco presenta, inoltre, il materiale seguendo un approccio bottom-up - ossia parte dai concetti di base del linguaggio di programmazione e del Common Language Runtime (come le classi, i delegate, gli eventi, le garbage collection e la serializzazione). Una volta apprese le basi, spiega come tali concetti e tecnologie vengono applicate a soluzioni enterprise (come le Web Form ADO .NET ed ASP .NET e gli XML Web Service). Infine dopo aver letto questo libro, si trovera' in esso un'utile guida di riferimento alla quale sara' possibile tornare piu' e piu' volte per trovare risposte ai problemi che si incontrano durante lo sviluppo di applicazioni per il .NET Framework. Non ho dubbi sul fatto che il libro di Francesco diventera' rapidamente una risorsa indispensabile per chiunque voglia sviluppare con il .NET Framework.
Jeffrey Richter
http://www.Wintellect.com
Gennaio 2002

Introduzione
La prima edizione di Programmare Visual Basic .NET e' stato uno dei libri piu' popolari sin dal rilascio avvenuto nell'Aprile 2002. Molti lettori lo hanno recensito su Amazon.com, citandolo come uno dei migliori testi su .NET che abbiano mai letto. Spesso e' l'unico testo su Visual nell'elenco dei best seller di Amazon per la categoria Computer e Internet. (Essere presenti in questo elenco per 18 mesi e' di per se' un risultato notevole, considerando che libri di questo tipo in genere diventano obsoleti in un paio di mesi).
Tutto cio' ci porta a una domanda: perche' scrivere una seconda edizione totalmente revisionata se i lettori sembrano cosi soddisfatti della versione originale? Dopo tutto avrei potuto rilasciare del nuovo materiale sul mio sito Web www.vb2themax:com, cosi come ho fatto per gli errata corrige e per altri aggiornamenti. Infatti, quando Microsoft ha rilasciato Visual Studio .NET 2003 e la versione 1.1 del .NET Framework nel Febbraio 2003, ho pensato ha una nuova edizione del libro non fosse necessaria e che sarebbe stato sufficiente rendere disponibili online alcune annotazioni. Come molti altri sviluppatori, ho inizialmente percepito la nuova versione come un semplice aggiornamento della precedente, per poi realizzare che molte applicazioni scritte per la versione 1.0 si comportano in modo differente (o non funzionano affatto) con la nuova versione.
La verita' e' che molte parti del .NET Framework sono state notevolmente modificate nella versione 1.1 - soprattutto ASP .NET e i Web Service - e sia Visual Studio .NET sia Visual Basic .NET stessi si sono evoluti rispetto alla release iniziale del 2002. Non tener conto delle nuove caratteristiche significa perdere un'opportunita' per rendere il codice piu' veloce e piu' affidabile, oltre a dover sprecare tempo ed energie a modificare il codice per eseguirlo con la versione 1.1 di .NET.
Questo tipo di problemi diventa piu' critico con il rilascio della versione di Windows Server 2003, che migliora Windows 2000 Server in aree come i Component Services, Internet Information Services e la sicurezza. Chi scrive applicazioni di livello enterprise, dovrebbe assolutamente trarre vantaggio delle migliorie in termini di robustezza, scalabilita' e sicurezza in Windows Server 2003.
Purtroppo, alcune delle informazioni fornite nella prima edizione del libro - specialmente nei capitoli su ASP .NET - sono obsolete e di poco utilizzabili con la nuova versione del sistema operativo. (Lo stesso dicasi per gran parte dei testi basati sulla versione 1.0 del .NET Framework). L'ultimo e decisivo fattore che mi convinto a scrivere un libro completamente nuovo e' stata l'opportunita' di trattare alcuni argomenti importanti che ho trascurato nella prima edizione - ossia, PInvoke, COM Interop. COM+, il remoting, la Code Access Security e le applicazioni Windows Forms su HTTP- e di illustrare le tecniche che ho appreso dopo la pubblicazione della prima edizione. Inoltre, una nuova edizione mi permette di migliorare i capitoli con nuove annotazioni ed esempi di codice piu' specifici.

Perche' questo libro e' cosi' vasto
In effetti, con il materiale contenuto in queste pagine avrei potuto scrivere due libri, forse anche tre - ad esempio, un libro su Visual Basic .NET, un altro sulle applicazioni Win32 e le applicazioni database, ed un terzo su Web Form, sui Web Service e altre applicazioni per Internet. Ho il sospetto che produrre piu' testi meno voluminosi si sarebbe rilevata una decisione piu' saggia, soprattutto dal punto di vista del ritorno economico. Ma perche', allora, non l'ho fatto?
A mio avviso, l'aspetto rivoluzionario dell'iniziativa .NET e' che consente gli sviluppatori di adottare un paradigma di programmazione unificato, indipendentemente dal linguaggio che utilizzano o dal tipo di applicazioni che realizzano. Tutti gli oggetti della libreria di classi di .NET sono strettamente correlati, e non e' possibile creare applicazioni eccezionali focalizzandosi soltanto su una piccola parte del .NET Framework ed ignorando il resto. Ad esempio, gli sviluppatori Win32 non dovrebbero considerare solo la parte relativa alle Windows Form ma anche il multithreading e GDI+. Coloro che utilizzano le Web Form dovrebbero conoscere i tipi di dato di .NET, le collezioni e le regular expression. I programmatori di XML Web service devono essere in grado di gestire la serializzazione ed i delegate asincroni, per scrivere applicazioni di qualsiasi tipo occorre padroneggiare l'ereditarieta' tra classi, le interfacce, il binding con gli assembly oltre ai dettagli di basso livello relativi alla gestione della memoria ed alla garbage collection per scrivere qualsiasi tipo di applicazione .NET. Per tutti questi motivi, ritengo che un unico volume possa descrivere tutte le numerose sfaccettature della programmazione .NET meglio di molti libri specifici sui vari argomenti, che inevitabilmente finirebbero con il sovrapporsi nelle parti che riguardano i principi di base. Inoltre, soltanto un libro di un unico autore e' in grado di garantire che non vi siano ne' ripetizioni ne' omissioni evidenti e fornire la piu' ampia rappresentazione di .NET.
Per inciso, chi gia' possiede la prima edizione di Programmare Visual Basic .NET avra' notato che questa edizione ha meno pagine della precedente e potrebbe quindi dedurre erroneamente che la nuova edizione non tratta gli argomenti con lo stesso approfondimento. Non e' cosi: il conteggio delle pagine e' diverso solo perche' l'editore ha deciso di utilizzare uno stile di layout differente per il testo. Il comando Conteggio parole di Microsoft Word non mente: entrambe le edizioni contengono circa 3 milioni di caratteri. Per fare spazio al nuovo materiale, ho spostato alcuni argomenti in file separati che sono stati inclusi nel CD allegato. Dove opportuno, verra' fatta menzione a questo materiale extra.

Il CD allegato e le versioni e-book
Molti lettori mi hanno chiesto perche' la prima edizione di Programmare Visual Basic .NET non era disponibile in formato elettronico sul CD allegato, a differenza del predecessore Programmare Visual Basic 6. Ho chiarito che ho dovuto prendere questa decisione dopo aver realizzato che la versione e-book del testo su Visual Basic 6 era liberamente scaricabile su diversi siti Web. Va da se' che questa discutibile pratica ha avuto un costo notevole in termini di mancata vendita. L'unica linea di difesa possibile era di non offrire Programmare Visual Basic .NET in formato e-book. D'altra parte, capisco che molti lettori gradirebbero disporre di una versione elettronica dei libri che acquistano per effettuare ricerche. Cio' e' particolarmente vero per testi voluminosi come questo e per testi di riferimento concepiti per supportare gli sviluppatori nell'attivita' quotidiana. Per questi motivi - ma specialmente perche' non voglio ostacolare tutti i lettori solo perche' un numero esiguo di essi si comporta in modo poco etico - ho deciso di includere una versione e-book di questa edizione di Programmare Visual Basic .NET - versione 2003 nel CD allegato, incrociando le dita e sperando bene. Non posso proteggere il materiale sul CD contro la copia illegale, e non lo farei neanche se fosse possibile, poiche' non mi piace considerare i lettori come se fossero dei potenziali addetti a pratiche scorrette. Posso solo chiedervi di pensarci due volte prima di condividere i contenuti del CD con altre persone. Come vi sentireste dopo aver lavorato per mesi a una applicazione solo per constatare che poi e' liberamente scaricabile da Internet?
In sintesi, nel CD allegato sono disponibili i seguenti contenuti:

  • Programmare Visual Basic .NET - versione 2003 (questo libro) in formato e-book con possibilita' di effettuare ricerche
  • Programmare Visual Basic 6 in formato e-book con possibilita' di effettuare ricerche
  • Ulteriori documenti su Visual Basic .NET e il .NET Framework (oltre 200 pagine)
  • Tutti gli esempi di codice, organizzati per capitolo di appartenenza
Gli esempi di codice sono eseguibili su qualsiasi computer in grado di eseguire Microsoft Visual Studio .NET 2003.Per poter sviluppare e' necessario un sistema basato su un Pentium III o superiore su cui e' installato Windows 2000, Windows XP o Windows Server 2003.(Windows NET puo' andar bene per progetti Windows Forms, ma non per sviluppare applicazioni ASP.NET) Prima di installare Visual Studio .NET e il .NET Framework, e' necessario che sia installato Internet Information Services (IIS) per poter sviluppare soluzioni ASP .NET. Sono necessari circa 2.5 Gigabyte di disco libero per installare Visual Studio .NET (dei quali circa 500 MB liberi sul disco di sistema) e 348 MB di RAM (anche se sono necessari almeno 512 MB per lavorare su progetti reali).

Chi dovrebbe leggere questo libro?
E' bene chiarire un altro punto. Questo libro non e' rivolto agli sviluppatori alle prime armi che desiderano imparare a conoscere Visual Basic .NET. Piuttosto, e' per gli sviluppatori Visual Basic esperti che vogliono sfruttare il potenziale della nuova piattaforma .NET. Questo libro non e' nemmeno per coloro che non si sentono a proprio agio con Visual Basic e le relative form, che non sanno come lavorare con classi ed oggetti o che non hanno mai utilizzato ADO per sviluppare un'applicazione database. Non vi sono istruzioni passo-passo riguardanti la creazione di un progetto e nemmeno lezioni introduttive sul significato di variabile, classe o connessione a database.
Visual Basic .NET e' un linguaggio nuovo, ma fortunatamente e' possibile sfruttare il bagaglio di conoscenze dei suoi predecessori. Ad esempio ADO .NET rappresenta un'evoluzione di ADO e pertanto occorre sapere cosa sia una stringa di connessione e come costruirla. Anche se i controlli delle Windows Form sono piu' potenti delle controparti Visual Basic 6, molto delle tecniche sviluppate nel corso degli ultimi anni sono ancora utili. Per coloro che necessitano di un ripasso, ho incluso la versione elettronica di "Programmare Microsoft Visual Basic 6" nel CD allegato. Ad esempio si puo' dare un occhiata ai capitoli sui concetti relativi alla programmazione orientata all'oggetto (Capitolo 6 e 7), al linguaggio SQL (capitolo 8), al modello ad oggetti di ADO (capitolo13), alle applicazioni IIS (capitolo 20). Il libro contenuto nel CD e' predisposto per le ricerche elettroniche e pertanto sara' possibile individuare quanto si desidera nel giro di pochi secondi anche in considerazione del fatto che ho fornito riferimenti ad argomenti specifici tutte le volte che cio' puo' risultare utile.
Dal momento che Programmare Visual Basic .NET - versione 2003 e' rivolto a sviluppatori esperti, contiene poche applicazioni complete pronte all'uso. Piuttosto mi sono concentrato su brevi esempi di codice che illustrino il funzionamento delle specifiche funzionalita' di .NET. La maggior parte dei listati di questo libro occupano una pagina o meno ed includono solo le parti piu' rilevanti degli esempi completi contenuti sul CD in allegato. Ad esempio, non ho sprecato spazio prezioso includendo i listati completi degli esempi correlati che differiscono soltanto in quale istruzione o includono una gran quantita' di istruzioni che un designer di Visual Studio crea quando si trascina un controllo su un form Windows. Abbreviare i listati significa migliorare la leggibilita', ed ho potuto utilizzare lo spazio risparmiato in modo piu' interessante.

Un approccio Bottom-Up al .NET Framework
Sebbene la maggior parte della mia attivita' sia dedicata a consulenze ed allo sviluppatore di applicazioni, dedico parecchio tempo anche alla formazione in seminari pubblici e workshop on site. Ho tenuto il mio corso di cinque giorni sulla programmazione .NET sia negli Stati Uniti sia in Europa, ed ho tenuto sessioni e workshop di una giornata presso conferenze come VBITS e WinSummit nel corso dell'ultimo anno.
Il fatto di insegnare Visual Basic .NET durante la stesura della prima edizione di questo libro e' stata un'esperienza davvero utile ed illuminante, in quanto ho potuto rifinire la struttura ed il contenuto effettivo di questo libro in base ai riscontri di partecipanti e studenti. Ad esempio, ho modificato la sequenza di alcuni capitoli quando ho realizzato che cosi facendo avrei reso meglio comprensibili argomenti successivi. Questo libro segue un approccio bottom-up che parte da un'introduzione sull'iniziativa di Microsoft .NET e i principali fondamentali del linguaggio (parte I), prosegue quindi, attraverso l'ereditarieta' e nuove funzionalita' come delegate ed attributi (parte II), e continua con una descrizione approfondita sulle classi di base del .NET Framework (parte III). A questo punto, i lettori avranno acquisito tutti mezzi necessari per comprendere quanto verra' descritto in seguito, come ad esempio le Windows Form e GDI+(Parte IV), la programmazione per database con ADO .NET ed XML (parte V), e le applicazioni ASP .NET (parte VI). L'ultimo gruppo di capitoli (Parte VII)e stata appositamente scritta per la seconda edizione e tratta argomenti avanzati: PInvoke, COM Interop, COM+, remoting, sicurezza e funzionalita' inerenti Internet).
Il mio consiglio e' di leggere questo libro senza saltare disordinatamente di capitolo in capitolo, in quanto ogni capitolo si basa su quanto e' stato detto nel precedente. Il fattore continuita' e' particolarmente importante nelle Parti I, II e III. Acquisti familiarita' con i principi fondamentali di .NET, e' possibile decidere di concentrarsi maggiormente sulle applicazioni Win32, o sulle applicazioni per database oppure su quelle per Internet a seconda delle priorita'. Si puo' affrontare la Parte VII solo disponendo di una solida conoscenza degli argomenti trattati nelle parti precedenti. Come per la prima edizione del libro, pubblichero' correzioni e nuovi contenuti sul sito Web della mia azienda Code Architects, www.codearchitects.com, dove sono disponibili degli utili tool di programmazione per sviluppatori Visual Basic .NET.
Anche Microsoft Press fornisce correzioni e ulteriori contenuti per i suoi libri attraverso il World Wide Web all'indirizzo http://www/microsoft.com/mspress/support/
L'obiettivo di Visual Basic .NET - versione 2003 e' stato di scrivere un libro che spiegasse come realizzare applicazioni reali robuste e facilmente mantenibili con Visual Basic .NET e Visual Studio .NET. Volevo illustrare quelle che considero le migliori tecniche di programmazione nell'ambiente .NET, come pure fornire un riferimento alle classi piu' importanti del .NET Framework, una collezione di suggerimenti per applicazioni scalabili e ad elevate prestazioni e molti esempi di codice riutilizzabili all'interno dei programmi.
La prima edizione del libro ha richiesto oltre un anno di stesura - in gran parte trascorso a combattere con le versioni beta che si rifiutavano di operare come documentato - ed ho trascorso tre e ulteriori mesi su questa seconda edizione. Mi e' costata una fortuna in termini di caffe' espresso e ho anche annullato un paio di vacanze estive, ma sono molto orgoglioso del risultato. Programmare Microsoft Visual Basic .NET 2003 e' il libro che volevo scrivere, e spero sia di aiuto nel diventare uno sviluppatore esperto in Visual Basic .NET in una frazione del tempo che ha richiesto la stesura del libro e, soprattutto, senza emicranie e fiumi di caffeina.
Francesco Balena
fbalena@vb2themax.com



Indice

Indice

Ringraziamenti
Prefazione
Introduzione

PARTE I - CONCETTI DI BASE

Capitolo 1 - Introduzione a Microsoft .NET
.NET Come Migliore Piattaforma di Sviluppo
Livellare le piattaforme Windows
.NET come evoluzione di COM
Tutti i linguaggi NET sono creati uguali
Le Web Form, i successori delle Active Server Pages
I Web service, l'Internet Programmabile
Il Framework Microsoft .NET
Requisiti
L'architettura di .NET
I linguaggi e i tool .NET
Il compilatore di Visual Basic .NET
Intermediate Language Disassembler (ILDASM)
Il compilatore Just-in-Time QIT)
Il Native Image Generator (NGEN)
Lavorare con gli assembly
Assembly mono-file e multi-file
I metadati e il manifest
Verifica del codice
AppDomain
La .NET Framework Class Library
ADO .NET
GDI+
PlatformInvoke e l'interoperabilita' COM
Il remoting di .NET
Gli altri namespace

Capitolo 2 - Moduli e variabili
Moduli e namespace
Moduli
La procedura Sub New
La procedura Sub Main
Le classi
Le form
I namespace
Blocchi di namespace
Namespace annidati
L'istruzione Imports
Imports a livello di progetto
Variabili
Dichiarazioni
Principi guida per la nomenclatura
Le istruzioni Option Explicit e Option Compare
Variabili a livello di blocco
Tipi di dato
Il tipo di dato Object
I tipi di dato intero
Il tipo di dato Boolean
Il tipo di dato Decimai
Il tipo di dato Char
Mappare i tipi di dato .NET
Stringhe a lunghezza fissa
Assegnazioni e Operatori
Inizializzatori
Gli Operatori " e "
L'istruzione Option Strict
Assegnazione di valori oggetto
Scorciatoie per operazioni comuni
Tipi valore e tipi riferimento
La keyword CType
La keyword DirectCast
Costanti ed Enum
Matrici
L'istruzione ReDim
Inizializzatori di matrici
Copia tra matrici
Matrici Vuote
Strutture

Capitolo 3 - Controllo di flusso e gestione degli errori
Controllo del flusso di esecuzione
Procedure
Passaggio di argomenti ByVal e ByRef
Passaggio di matrici
Argomenti opzionali
Argomenti di tipo ParamArray
Restituzione di un valore
Istruzioni condizionali e cicli
Cortocircuitazione con gli operatori And Also e OrElse
Cicli For Next e For Each
Comandi, funzioni e costanti
Costanti e funzioni di tipo stringa
Funzioni matematiche
Funzioni data/ora
Comandi e funzioni di interazione
Altri comandi, funzioni e oggetti
Gestione degli errori
Sollevare eccezioni
L'oggetto Exception
L'istruzione Try... Catch...Finally
La parola chiave Catch
La parola chiave When
La parola chiave Finally
La keyword Throw
Sollevare un'eccezione
Coesistere con i gestori d'errore vecchio stile
Oggetti Exception personalizzati
Eccezioni in Visual Studio .NET
Suggerimenti per aumentare le prestazioni
Le classi Trace e Debug

PARTE II - PROGRAMMAZIONE ORIENTATA ALL'OGGETTO

Capitolo 4 - Fondamenti sulle classi
Campi
Metodi
Overloading
Overloading e conversione
Casi ambigui
Proprieta'
Proprieta' di sola lettura e sola scrittura
Proprieta' con argomenti
Proprieta' predefinite
Costruttori
Costruttori parametrici
Costruttori di overload
Costruttori e campi di sola lettura
Eventi
Dichiarare e scatenare un evento
Intercettare gli eventi con WithEvents
Intercettare gli eventi con AddHandler
Eventi nei moduli
Intercettare gli eventi dalle matrici e dalle collezioni
Principi guida per la sintassi degli eventi
Membri Shared
Campi Shared
Metodi shared
Costruttori shared

Capitolo 5 - Ereditarieta'
Fondamenti dell'ereditarieta'
Estendere la classe derivata
Utilizzare la classe derivata
Comportamento polimorfico
Ridefinire i membri della classe di base
Variazioni sulla ridefinizione
La parola chiave MyBase
I costruttori nelle classi derivate
La parola chiave MyClass
Shadowing dei membri
Ridefinire i membri shared
Classi sealed e classi virtuali
La parola chiave NotInheritable
La parola chiave MustInherit
La parola chiave MustOverride
Ambito di visibilita'
Le classi annidate
Qualificatori di visibilita' Public, Private e Friend
Il qualificatore Protected
Il qualificatore Protected Friend
Utilizzare i qualificatori di visibilita' con i costruttori
Ridefinire gli eventi
Il ciclo di vita degli oggetti
COM e il Reference Counter
Garbage Collection
Il metodo Finalize
Il metodo Dispose
Combinare i metodi Dispose e Finalize
Uno schema Dispose-Finalize migliore
I finalizer nelle classi derivate
Riferimenti deboli a oggetti

Capitolo 6 - Interfacce, delegate e attributi
Interfacce
Implementare l'interfaccia
Accedere alle interfacce
Interfacce ed ereditarieta'
Utilizzare le interfacce .NET
L'interfaccia IComparable
L'interfaccia IComparer
L'interfaccia ICloneable
Shallow Copy e Deep Copy176
Un metodo Clone fortemente tipizzato
Delegate
Invocare metodi statici
Invocare i metodi di istanza
Altre proprieta'
Implementare procedure di callback
Delegate di tipo Multicast
Delegate ed Eventi
Attributi
La sintassi degli attributi
L'attributo Conditional
L'attributo Obsolete
L'attributo DebuggerStepThrough

PARTE III - PROGRAMMARE PER IL .NET FRAMEWORK

Capitolo 7 -I tipi di base del .NET Framework
Il tipo System.Object
Metodi Public e Protected
Tipi valore e tipi riferimento (Un breve riesame)
Boxing e Unboxing
Il tipo String
Proprieta' e metodi
Ottimizzazione delle stringhe
Metodi shared
La classe ausiliaria CultureInfo
La classe Encoding
Formattare i valori numerici
Formattare le date
Il tipo Char
Il tipo StringBuilder
Tipi numerici
Proprieta' e metodi
Formattare i numeri
Convertire stringhe in numeri
La classe Convert
Generatori di numeri casuali
Il tipo DateTime
Aggiungere e sottrarre date
Formattare le date
Analizzare le date
Utilizzare i fusi orari
Il tipo Guid
Enumeratori
Visualizzare e analizzare i valori Enum
Altri metodi Enum
Valori codificati in bit

Capitolo 8 - Matrici, liste e collezioni
La classe Array
Ordinare gli elementi
Azzerare, copiare e spostare gli elementi
Ricercare valori
Matrici di matrici
Il namespace System.Collections
Le interfacce ICollection, IList e IDictionary
La classe BitArray
La classe BitVector32
La classe Stack
La classe Queue
La classe ArrayList
La classe Hashtable
La classe SortedList
Classi Collection e Dictionary personalizzate
La classe astratta CollectionBase
La classe astratta ReadOnlyCollectionBase
La classe astratta DictionaryBase
La Classe Astratta NameObjectCollectionBase
Le interfacce IEnumerable e IEnumerator

Capitolo 9 - File, directory e stream
Le classi Directory e File
Le classi Directorylnfo e FileInfo
La classe Path
La classe Stream
Operazioni sugli stream
Stream Reader e stream Writer
Leggere e scrivere file di testo
Leggere e scrivere file binari
Leggere e scrivere stream di memoria
Leggere e scrivere stringhe in memoria

Capitolo 10 - Serializzazione degli oggetti
Le basi della serializzazione
Serializzazione binaria
Serializzazione SOAP
Gli attributi Serializable e NonSerialized
Grafi di oggetti
Clonazione di tipo deep di oggetti
Serializzazione personalizzata
L'Interfaccia IDeserializationCallback
L'interfaccia ISerializable
Un esempio di serializzazione personalizzata
La Classe di Supporto FormatterServices

Capitolo 11 - Regular Expression
Introduzione alle regular expression
Fondamenti
Il linguaggio delle regular expression
Le opzioni delle regular expression
Classi Regular Expression
La classe Regex
Ricerca di sottostringhe
Il metodo Replace
Metodi shared
Il Metodo CompileToAssembly
Le classi MatchCollection e Match
La classe Group

Capitolo 12 - Threading
Introduzione al threading
Quando utilizzare i thread
Creare i thread
Lavorare con i thread
Proprieta' dei thread
Effettuare il debugging dei thread
Thread ed Eccezioni Non Gestite
Memorizzare e condividere i dati
Variabili locali, di classe e statiche
L'attributo ThreadStatic
Passaggio di dati fra thread
Sincronizzare i thread
L'istruzione SyncLock
Oggetti sincronizzati
Classi .NET sincronizzate
L'attributo Synchronization
L'attributo MethodImpl
La classe Monitor
La classe Interlocked
La classe Mutex
La classe ReaderWriterLock
Le classi ManualResetEvent e AutoResetEvent
La classe ThreadPool
La classe Timer
Operazioni asincrone
Delegate asincroni
Chiamate asincrone
Procedure di callback asincrone
Ancora sull'invocazione di metodi asincroni

Capitolo 13 - Componenti e Assembly
Componenti
Creazione di una Class Library .NET
Creazione di Componenti Hostable
Lavorare con Soluzioni Multi-Progetto
Il Configuration Manager
Assembly
Assembly privati e condivisi
Strong Name
Installazione nella GAC
Utilizzo della Variabile d'Ambiente DEVPATH
Il processo di binding
Criteri di versioning nei file di configurazione delle applicazioni
Assembly precaricati e ricerche nella GAC
L'attributo CodeBase
Probing
La utility Assembly Binding Log Viewer (FUSLOGVW)
File di configurazione
Impostare la versione del runtime
Proprieta' dinamiche
Il tool .NET Framework Configuration
Attributi personalizzati per gli assembly

Capitolo 14 - La reflection
Utilizzare assembly e moduli
La classe Assembly
La classe AssemblyName
La classe Module
Utilizzare i tipi
Ottenere un oggetto Type
Estrarre gli attributi dei tipi
Enumerare i membri
Estrarre le informazioni sui membri
Enumerare i parametri
Invocare i membri
Creare dinamicamente un oggetto
Registrazione Dinamica di Gestori di Eventi
Tracciare lo Stack Frame
Attributi e Reflection
Creare una classe attributo personalizzata
Scoprire gli attributi a run time
Compilazione al volo

PARTE IV - LE APPLICAZIONI WIN32

Capitolo 15 - Le applicazioni Windows Form
Nozioni fondamentali sulle form
Il designer di form
Le nuove caratteristiche del designer
La gerarchia di classi delle Windows Form
I controlli delle Windows Form
Operazioni comuni per form e controlli
Utilizzare testo e colori
Utilizzare i font
Utilizzare dimensioni e posizione
Utilizzare i controlli Docked e ancorati
Utilizzare la tastiera
Utilizzare il mouse
Gestire il focus
Utilizzare i controlli contenitore
Utilizzare i controlli ActiveX
L'oggetto Form
Operazioni comuni con le form
Spostare e ridimensionare le form
Creare form scorrevoli
Visualizzare le form
Utilizzare form secondarie
Visualizzare caselle di messaggio e finestre di dialogo
Aggiungere dinamicamente i controlli
Menu
Creare una struttura di menu
Proprieta', metodi ed eventi
Reagire agli eventi dei menu
Creare menu da codice
Menu a piu' colonne
Mostrare i menu di contesto
Form MDI
Visualizzare forra MDI secondarie
Fondere i menu
Ereditarieta' nelle form
I vantaggi dell'ereditarieta' nelle form
Un esempio di ereditarieta' nelle form
Intercettare e ridefinire gli eventi
Tecniche avanzate per le form
Window Subclassing
I principi del subclassing
Un esempio di subclassing
Restituire un valore a Windows
Effetti visuali
La proprieta' TransparencyKey
La proprieta' Opacity
Il Metodo Application. EnableVisualStyles
Localizzare le form
Un semplice esempio di localizzazione
Eseguire e collaudare l'applicazione localizzata
Utilizzare i file di risorse
Gestire Risorse Inglobate
Proprieta' dei controlli dinamici
Form come controlli figli

Capitolo 16 - Controlli Windows Forms
Introduzione ai controlli Windows Forms
Il controllo TextBox
Il controllo Label
Il controllo LinkLabel
I controlli CheckBox, RadioButton e Button
Il controllo CheckBox
Il controllo RadioButton
Il controllo Button
Il controllo ListBox
Aggiungere elementi
Utilizzare gli elementi selezionati
Altre proprieta' e metodi
Controlli ListBox Owner-Draw
Il controllo CheckedListBox
Il controllo ComboBox
Controlli Provider
Il controllo ToolTip
Il controllo ErrorProvider
Il controllo HelpProvider
Il controllo Splitter
I controlli CommonDialog
Il controllo OpenFileDialog
Il controllo SaveFileDialog
Il Controllo FolderBrowserDialog
Il controllo ColorDialog
Il controllo FontDialog
Il controllo PrintDialog
Il controllo PageSetupDialog
Il controllo ImageList
Il controllo TreeView
Il controllo ListView
Il Controllo PropertyGrid
Altri controlli
Il controllo PictureBox
I controlli HScrollBar e VScrollBar
Il controllo Timer
Il controllo Panel
Il controllo GroupBox
Il controllo NotifyIcon
Il controllo ToolBar
Il controllo TabControl
Il controllo StatusBar
I controlli NumericUpDown e DomainUpDown
Il controllo RichTextBox
Il controllo MonthCalendar
Il controllo DateTimePicker
Il controllo TrackBar
Il controllo ProgressBar
Data Binding
Collegare un controllo a una matrice di oggetti
Form che utilizzano il data binding semplice
Eventi di formattazione
Controlli ListBox e ComboBox collegati
Il data binding conADO .NET
Utilizzare componenti visuali
Data binding da codice
Form collegate di tipo master/detail
Il Controllo DataGrid
Stili di Tabella e di Colonna
Programmazione del Controllo DataGrid
Creazione di Stili Colonna Personalizzati
Altri Oggetti Utili
L'oggetto Clipboard
Copiare i dati nella Clipboard
Incollare i dati dalla Clipboard
Implementare il drag-and-drop
L'oggetto Application
Proprieta', metodi ed eventi
Gestori globali degli errori
L'oggetto Cursor
Proprieta' e metodi statici
Creare nuovi cursori
La classe SendKeys
La classe Help

Capitolo 17 - GDI+
Grafica vettoriale 2-D
L'oggetto Graphics
Linee, rettangoli, poligoni, ellissi e archi
Spline cardinali e spline di Bézier
L'oggetto Pen
Percorsi
Forme piene
Oggetti Brush
Regioni
Alpha Blending
Trasformazioni
Gestione di Immagini
Caricare e salvare le immagini
Visualizzare un'immagine
Ribaltare, ruotare e deformare un'immagine
Bitmap trasparenti e semitrasparenti
Icone
Metafile
Typography
Famiglie di font
Disegnare testo
Allineare il testo
Modificare il testo
Anti-aliasing

Capitolo 18 - Controlli Windows Forms personalizzati
Derivare da un controllo esistente
Creare un progetto per il controllo
Creare l'applicazione client
Aggiungere la logica di convalida
Collaudare il controllo
Debugging in fase di progettazione
Potenziare il controllo personalizzato
Utilizzare tipi diversi
Aggiungere gli attributi
Associazione di Icone
Utilizzare i valori predefiniti
Composizione di Controlli
Creare la componente UserControl
Aggiungere proprieta', metodi ed eventi
Mascheramento e ridefinizione delle proprieta' degli UserControl
Aggiungere la logica di ridimensionamento
Creare un controllo da zero
La Classe ControlPaint
Argomenti avanzati
L'Interfaccia ISupportInitialize
Controlli multi-thread
Controlli Extender Provider
Editor personalizzati delle proprieta'
Proprieta' degli oggetti
Designer di Controlli Personalizzati
Supporto al Data-Binding
Licensing in fase di progettazione e di esecuzione
Ospitare controlli personalizzati in Internet Explorer

Capitolo 19 - Tecniche Win32 avanzate
La classe Environment
Le classi Registry e RegistryKey
Leggere le chiavi di Registry
La Classe SystemEvents
La componente FileSystemWatcher
Inizializzare una componente FileSystemWatcher
Ottenere notifiche
Eventi
Il metodo WaitForChanged
Overlow del buffer
Risolvere i problemi
La componente Process
Eseguire e interrompere un processo
Avvio di un processo
Impostare altre proprieta' di configurazione
Interrompere un processo
Reindirizzamento dei canali Input, Output ed Errar
Richiedere informazioni a un processo
Ottenere un riferimento a un processo in esecuzione
Ottenere informazioni sui processi
Ottenere informazioni sui thread
Ottenere informazioni sui moduli
Attendere che un processo termini
Utilizzare il metodo WaitForExit
Utilizzare l'evento Exited
La componente PerformanceCounter
Introduzione ai contatori di prestazioni
Categorie, contatori e istanze
I contatori di prestazioni di .NET
Leggere i valori dei contatori di prestazioni
Leggere valori raw
Leggere valori calcolati
Enumerare i contatori esistenti
Utilizzare contatori di prestazioni personalizzati
Creare contatori di prestazioni personalizzati
Scrivere valori
Eliminare istanze e contatori
Installare un Contatore di Prestazioni Personalizzato
La componente EventLog
Introduzione al logging degli eventi
Leggere le voci del log degli eventi
Elencare i log esistenti
Leggere le voci del log degli eventi
Gestire gli eventi EntryWritten
Scrivere voci nel log degli eventi
Registrare un'applicazione come sorgente di eventi
Creare un log personalizzato
Scrivere nel log degli eventi
Installare un Componente EventLog
Affrontare i problemi di sicurezza

Capitolo 20 - Servizi Windows
Fondamenti sui servizi Windows
Creare il progetto
Impostare le proprieta' del servizio
Esaminare e correggere il codice
Ridefinire i metodi della classe ServiceBase
Implementare l'algoritmo di cifratura
Installare il servizio
Impostare le proprieta' fondamentali del servizio
Impostare il contesto di sicurezza del servizio
Eseguire InstallUtil
Avviare e interrompere i servizi
Tecniche ulteriori per la programmazione di servizi
Eventi personalizzati per i Log dei messaggi
Reagire agli eventi di shutdown e inerenti l'alimentazione
Gestire comandi personalizzati
Passare e ricevere argomenti
Effettuare il debugging di un servizio di Windows
La componente ServiceController
Elencare i servizi installati
Interrogare un oggetto ServiceController
Gestire un servizio

PARTE V - APPLICAZIONI DATABASE

Capitolo 21 - ADO .NET in modalita' connessa
La transizione ad ADO .NET
Introduzione ad ADO .NET
Le principali modifiche rispetto ad ADO
Estrarre i dati
Le nuove funzionalita' di XML
I data provider di .NET'
Utilizzare ADO attraverso l'interoperabilita' COM
Il modello a oggetti di ADO .NET
Panoramica degli oggetti di ADO .NET
I namespace diADO .NET
L'oggetto Connection
Impostare la proprieta' ConnectionString
Aprire e chiudere la connessione
La proprieta' State e l'evento StateChange
Gestire gli errori
Aprire un database in modalita' asincrona
Recuperare Informazioni di Schema
Sfruttare il pooling delle connessioni
Utilizzare le transazioni
Creare un oggetto Transaction
Selezionare il livello d'isolamento
Transazioni annidate
Utilizzare le transazioni con nome
L'oggetto Command
Creare un oggetto Command
Eseguire comandi sui database
Leggere i dati
Utilizzare il metodo ExecuteReader
Utilizzare il metodo ExecuteScalar
Utilizzare il metodo ExecuteXmlReader
Utilizzare parametri e stored procedure
Comandi parametrici
Stored Procedure
Popolare automaticamente la collezione Parameters
Modifica e Debugging di Stored Procedure
L'oggetto DataReader
Iterare sul singoli record
Leggere i valori dei campi
Recuperare Informazioni sulla Colonna
Gestire Colonne BLOB
Leggere piu' resultset

Capitolo 22 - ADO .NET in modalita' disconnessa
L'oggetto DataSet
Esplorare il modello a oggetti del DataSet
Creare un DataSet
Creare un oggetto DataTable
Aggiungere record
Aggiornare ed eliminare record
Accettare o rigettare le modifiche
Regole di convalida per righe e colonne
Impostare, individuare e correggere gli errori
Filtri, ricerche e ordinamenti
Utilizzare l'oggetto DataView
Creare relazioni
Utilizzare le espressioni
Applicare i vincoli
La classe DataAdapter
Introduzione al DataAdapter
Leggere dati da un database
Popolare un DataTable
Gestire gli errori di popolamento
Tabelle di mapping per i database
Precaricare la struttura del database
Aggiornare il database
Acquisire familiarita' con i concetti di aggiornamento
Comprendere l'oggetto CommandBuilder
Personalizzare i comandi di inserimento, aggiornamento ed eliminazione
Modificare l'ordine delle operazioni
di inserimento, aggiornamento ed eliminazione
Fondere le modifiche in un altro DataSet
Risolvere i conflitti di aggiornamento
Gestire l'evento RowUpdated
Visualizzare i record che generano conflitti
Risincronizzare dopo il metodo Update
Annullare aggiornamenti multipli
Tecniche avanzate
Gestire le Colonne Identity
Ridurre i conflitti con comandi Update personalizzati
Aumentare le prestazioni con le query di tipo JOIN
Paginare i risultati

Capitolo 23 - XML e ADO .NET
Leggere e scrivere file XML
La classe XmlTextReader
La classe XmlTextWriter
Utilizzare l'XML DOM
La classe XmlNode
La Classe XmlDocument
Esplorare il DOM
Aggiungere e rimuovere i nodi
Cercare i nodi
La classe XslTransform
Funzionalita' XML inADO .NET
Scrivere dati XML
Scrivere lo schema e il DiffGram
Leggere i dati e lo schema XML
DataSet fortemente tipizzati
La classe XmlDataDocument
ADO .NET e Visual Studio NET
Creare connessioni e DataAdapter
Progettare classi DataSet fortemente tipizzate
Gestire Relazioni tra Tabelle
Configurare un DataAdapter
Piu' componenti in fase di progettazione

PARTE VI - APPLICAZIONI INTERNET

Capitolo 24 - Web Form e controlli Web
I concetti di base delle Web Form
Il primo progetto Web Form
Impostare le proprieta' della pagina principale
Trascinare i controlli sulla pagina
Codice HTML lato server e lato client
Impostare la directory principale dei progetti ASP .NET
Dinamica delle Web Form
Le classi di code-behind
Compilazione su richiesta
Il ciclo di vita della pagina
La proprieta' EnableViewState
La proprieta' IsPostBack
La proprieta' AutoPostBack
La classe Page
Smart Navigation
L'oggetto dictionary ViewState
I metodi MapPath e ResolveUrl
L'evento Error
Le direttive @Page
I controlli delle Web Form
I controlli Server HTML
Le classi di base HtmlControl e HtmlContainerControl
Le proprieta' e gli eventi principali
La classe HtmlSelect
Le classi HtmlTable, HtmlTableRow e HtmlTableCelI
La classe HtmlInputFile
I controlli delle Web Form
La classe di base WebControl
Le proprieta' e gli eventi principali
I controlli Literal, Label, Panel e PlaceHolder
I controlli HyperLink, Image, Button, LinkButton e imageButton
Altri controlli delle Web Form
Controlli di convalida
Proprieta', metodi ed eventi
Il controllo RequiredFieldValidator
Il controllo RangeValidator
Il controllo CompareValidator
Il controllo RegularExpressionValidator
Il controllo CustomValidator
Il controllo ValidationSummary
Validazione lato server
I controlli List
Popolare la collezione Items
I controlli ListBox e DropDownList
I controlli RadioButtonList e CheckBoxList
Altri controlli
Il controllo Calendar
Il controllo AdRotator
Il controllo Xml
Formattare il testo in Visual Studio .NET

Capitolo 25 - Data binding Web Forms
Collegare proprieta' a valore singolo
Il data binding con i controlli List
Simulare il data binding bidirezionale
I controlli template
I modelli
Il controllo Repeater
Inserire i modelli nel testo HTML
L'evento ItemCreated
L'evento ItemDataBound
L'evento ItemCommand
Il controllo DataList
Il data binding con il controllo DataList
I modelli per la selezione e la modifica
Pulsanti di comando ed eventi di comando
Gestire gli stati di selezione e di modifica
Controlli DataList a piu' colonne
Il controllo DataGrid
Colonne e modelli
I gestori dell'evento Command
Ordinare i record
Paginazione predefinita e personalizzata
DataGrid Annidati
Modelli dinamici
Caricare un file template
Le classi template

Capitolo 26 - Le applicazioni ASP .NET
Gli oggetti intrinseci di ASP .NET
La classe HttpRequest
Utilizzare gli URL
Salvare le richieste HTTP
Verificare le capacita' del browser
Leggere i file caricati
La classe HttpResponse
Utilizzare i cookie
Creare dinamicamente la grafica
Filtrare l'output dell'oggetto Response
La classe HttpServerUtility
La classe HttpSessionState
La classe HttpApplicationState
Gestione dello stato e caching
Lo stato della sessione
Sessioni prive di cookie
Sessioni out-of-process basate sui servizi Windows
Sessioni out-of-process basate su SQL Server
Sessioni disabilitate o sessioni di sola lettura
Caching della pagina
La direttiva @OutputCache
La classe HttpCachePolicy
La classe Cache
Inserire elementi nella cache
Applicare le dipendenze da file e chiavi
Applicare le dipendenze temporali
Impostare una callback di eliminazione
Variabili statiche
Passaggio di Dati tra Pagine
Il file Global.asax
Gestori globali di errore
Filtri Response a livello di applicazione
Variabili Session persistenti
Tracing
La proprieta' Trace
Tracing a livello di applicazione
La classe TraceContext
Moduli e gestori HTTP
I moduli HTTP
I gestori HTTP
Mappare le estensioni dei file in MS
Aggiungere il gestore HTTP ai file di configurazione
Scrivere la classe HTTP Handler

Capitolo 27 - Sicurezza e configurazione di ASP .NET
La sicurezza di ASP .NET
Concetti di base
Le autorizzazioni di MS
Autenticazione di MS
L'autorizzazione di Windows
L'Impersonation di ASP .NET
Per riassumere
Le modalita' di autenticazione di ASP .NET
L'autenticazione Windows di ASP .NET
Impostazioni di configurazione per l'autenticazione Windows
Le autorizzazioni dell'URL
Modalita' di autenticazione Forms
Impostazioni di configurazione per l'autenticazione Forms
La pagina di Login
Autenticazione Forms personalizzata
Configurazione di ASP .NET
I principi fondamentali delle configurazioni
Sezioni di configurazione
Ereditarieta' di configurazione
File di configurazione centralizzati
Le impostazioni di configurazione di ASP .NET
< browserCaps >
< clientTarget >
< compilation >
< customErrors >
< globalization >
< httpRuntime >
< pages >
< processModel >
< securityPolicy >
< trust >
Gestire piu' versioni di ASP .NET

Capitolo 28 - Controlli utente e controlli personalizzati
I controlli utente
Creare il primo controllo utente
Convertire una pagina .aspx in un controllo utente
Scrivere una pagina di test
I controlli utente in Visual Studio .NET
Aggiungere un controllo utente per il Web
Aggiungere codice
Salvare variabili e proprieta'
Accedere al controllo utente dalla pagina client
Creare dinamicamente il controllo utente
Scatenare eventi nella pagina
Fragment Caching
Il caching con la direttiva @OutputCache
Il caching con l'attributo PartialCaching
Controlli personalizzati
Creare il primo controllo personalizzato
Il metodo Render
La classe HtmlTextWriter
Le classi Control e WebControl
Migliorare i controlli personalizzati
Aggiungere le proprieta'
Rappresentare gli attributi di stile
Gestire il postback dei dati
Scatenare eventi lato server
Generare eventi di postback
Gestire gli eventi di postback
Controlli composti
Codice di script lato client
Codice HTML e JavaScript sul client
Il controllo personalizzato MultiplierEx

Capitolo 29 - I Web service
Introduzione ai Web Service
Creare il progetto Web Service
Collaudare il Web Service nel browser
Creare un client per un Web Service
I protocolli dei Web Service
I Web Service visti da vicino
La classe Web service
L'attributo WebService
Accedere agli oggetti di ASP .NET
Tipi di dato semplici e complessi
L'attributo WebMethod
Utilizzare i metodi di overload
Bufferizzare le risposte
Memorizzare i risultati nella cache
Abilitare lo stato della sessione
Creare Web service transazionali
La classe proxy del Web Service
Chiamate a metodi in late-bound ed early-bound
Invocare un metodo in modalita' sincrona
Invocare un metodo in modalita' asincrona
Metodi unidirezionali
Gestire i Server Proxy
La proprieta' CookieContainer
Le eccezioni SOAP
Argomenti avanzati
Le intestazioni SOAP
La sicurezza dei Web Service
L'autenticazione di Windows
Autenticazione personalizzata
Le estensioni SOAP
Attivare un'estensione SOAP da un file di configurazione
Attivare un'estensione SOAP con un attributo personalizzato
La classe dell'estensione SOAP
Le estensioni SOAP lato client
Web Service Extensions (WSE)

PARTE VII - ARGOMENTI AVANZATI

Capitolo 30 - PInvoke e COM Interop
Utilizzo di PInvoke
La Keyword Declare
L'attributo DllImport
Marshaling dei Dati
L'attributo MarshalAs
L'attributo StructLayout
L'attributo FieldOffset
Delegate e Procedure Callback
Gli attributi In e Out
La Classe Marshal
Invocare Componenti COM da .NET
Il Runtime Callable Wrapper (RCW)
Importare un Componente COM con Visual Studio .NET
Utilizzo dell'lnterop Assembly Importato
Importare un Componente COM con Tlblmp
Primary Interop Assembly
Late Binding e Reflection
Il Marshaling COM Interop
Problemi di Threading
Invocare Oggetti .NET da COM
Il COM Callable Wrapper (CCW)
Creare un Componente .NET d'esempio
Le Utility RegAsm e TlbExp
Dettagli di Conversione
Utilizzo di Attributi per Controllare la Conversione
Gli Attributi ComVisible, Progld e Guid
L'attributo Displd
Gli attributi ComClass e Classlnterface
Gli Attributi InterfaceType e ComSourcelnterfaces
Gli Attributi ComRegisterFunction e ComUnregisterFunction
Lavorare con le Eccezioni
Scrivere Componenti .NET COM-Friendly

Capitolo 31 - Componenti Serviced
Breve Introduzione a COM+
Introduzione ai Componenti Serviced .NET
Presentazione dei Componenti Serviced
Creare il Database di Test
Creare l'Applicazione COM+
Definire una Classe Transazionale
Test del Componente
Migliorare l'Applicazione
Utilizzo di Transazioni AutoComplete
Modificare il Livello di Isolamento e il Timeout della Transazione
Abilitare l'Object Pooling
Definire una Stringa di Inizializzazione
Implementare la Sicurezza Role-Based
Utilizzo della Sincronizzazione
Registrazione e Deployment dell'Applicazione COM+
Creare una Applicazione Server
Utilizzo dell'Utility Regsvcs
Impostare l'Identita' dell'Applicazione
Esportare l'Applicazione COM+
Radiografia dei Componenti Serviced
Classi e Interfacce
La classe ServicedComponent
La Classe ContextUtil
La classe SecurityCallContext
La Classe BYOT (Bring Your Own Transaction)
Il Metodo Connection.EnlistDistributedTransaction
L'Interfaccia IProcessInitializer
Funzionalita' COM+ 1.5
Pooling di Applicazione
Riciclaggio dell'Applicazione
Applicazioni in Esecuzione come Servizi NT
Componenti Legacy
Componenti Privati e Aliasing
Sospensione e Disabilitazione dell'Applicazione
Partizioni dell'Applicazione
Servizi senza Componenti
Componenti come Web Service
Invocazione Asincrona di Metodo
Componenti Queued
Introduzione all'Architettura QC
Abilitare il Componente Queued
Definire un'Interfaccia Queued
Utilizzo del Componente Queued
Messaggi MSMQ
Creare una Coda
Invio di Messaggi
Ricezione di Messaggi
Code Transazionali

Capitolo 32 - Remoting
Fondamenti di Remoting
Tecnologie .NET per il Calcolo Distribuito
Tipi di Oggetti Remotable
Oggetti Server-Activated e Client-Activated
Oggetti Marshal-by-Reference e Marshal-by-Value
La Classe ObjRef
Un Esempio di Remoting .NET
L'Oggetto Remotable
L'Applicazione Host
L'Applicazione Client
Eseguire l'Esempio
Registrazione dell'Oggetto e del Canale
Registrare un oggetto Single-Call Server-Activated Object
Registrare un oggetto Singleton Server-Activated Object
Pubblicare un oggetto Singleton Server-Activated Object
Registrare un oggetto Client-Activated Object
Registrare un Canale
Registrazione per mezzo di File di Configurazione
Il Tag < channel >
Il Tag < service >
Il Tag < client >
Il Tag < customErrors >
Il tool Microsoft .NET Framework Configuration
Il Ciclo di Vita dell'Oggetto
Modificare le Impostazioni di Lease per Applicazioni Server
Modificare le Impostazioni di Lease di una Classe Specifica
Accesso all'Oggetto Lease
Definire uno Sponsor
Implementare la Classe Sponsor
Utilizzare la Classe Sponsor
Migliorare la Classe Sponsor
La Classe ClientSponsor
Definire un Tracking Handler
Deployment dei Metadati
Utilizzo dei Tool SoapSuds
Generare Metadati da un Assembly Compilato
Generare Metadati da un Server in Esecuzione
Generare un Proxy Wrapped
Generare il Codice Sorgente
Utilizzo di Interfacce Shared
Interfacce Shared con oggetti SAO
Interfacce Shared e Classi Factory per oggetti CAO
Utilizzo di Classi di Base Shared
Hosting di Oggetti Remoti
Hosting utilizzando un Servizio Windows NT
Hosting Utilizzando Internet Information Services
Modificare Soluzioni esistenti per operare con MS
Configurare IIS per l'Hosting
Configurare l'Applicazione Client
Implementare la Sicurezza

Capitolo 33 - Sicurezza
Concetti Base del Code Access Security .NET
CAS in Azione
Livelli di Policy
Evidence
Permessi
Insiemi di Permessi
Gruppi di Codice
Gruppi di Codice Custom
Opzioni del Gruppo di Codice
Stack Walk
Assembly Parzialmente Trusted
Livelli di Policy nelle Applicazioni ASP .NET
CAS in Azione
Lavorare con l'Evidence
Mostrare l'Assembly Evidence
Caricare un Assembly con una Custom Evidence
Lavorare con la Sicurezza Imperativa
Il Metodo Demand
I Metodi Deny e PermitOnly
Il Metodo Assert
La Classe PermissionSet
La Classe NamedPermissionSet
Lavorare con la Sicurezza Dichiarativa
Azioni Demand, PermitOnly, Deny e Assert
Azione LinkDemand
Azione InheritanceDemand
Azioni RequestMinimum, RequestOptional e RequestRefuse
Classi Identity Permission
L'Attributo SuppressUnmanagedCodeSecurity
Disabilitare la Sicurezza CAS
Sicurezza Role-Based
Lavorare con gli Oggetti Identity
La Classe Windowsldentity
Impersonare un Utente Windows
Lavorare con Oggetti Principal
Il Metodo AppDomain.SetPrincipalPolicy
La Classe WindowsPrincipal
Oggetti Principal in ASP .NET
La Classe PrincipalPermission
Crittografia
Il Namespace System.Security.Cryptography
Classi Crittografiche Concrete
La Classe CryptoStream
Crittografia Simmetrica
Crittografia Asimmetrica
Algoritmi Hash
Algoritmi Hash con Chiave
Valori Random

Capitolo 34 - Programmazione per Internet
Applicazioni Windows Forms su HTTP
La Cache di Download di .NET
Debugging
Problemi di Sicurezza
Lavorare con i File
Aumentare i Permessi di Sicurezza
Utilizzo dell'attributo AllowPartiallyTrustedCallers
Il Deployment No-Touch
L'Isolated Storage
Creare uno Store
Capire l'Isolation Scope
Lavorare con la Sicurezza degli Isolated Storage
Quota
La Classe isolatedStorageFilePermission
Lavorare con Store, Directory e File
Gli Store
Directory e File
Compiti Comuni per Applicazioni Internet
Richiedere una Pagina Web
La Classe WebClient
Le Classi WebRequest e WebResponse
Le classi HttpWebRequest e HttpWebResponse
I metodi GET e POST
Cookie e Container di Cookie
Lavorare con il Protocollo TCP
Invio di E-mail
Utilizzo del Controllo WebBrowser



MIGLIORA COSTANTEMENTE

Riceverai una sola volta al mese (no spam!) tutti i nuovi manuali e guide pubblicati !
La tua email:


Manuali gratis di Visual Basic

Tutorial Visual Basic 2008 di manuali.net

Articoli Visual Basic 2005 di Visual-Basic.it

Guida Visual Basic di WebMasterPoint

Corso di Visual Basic di SoftwarePlanet

Manuale Visual Basic di Html.it