Novità di .NET Framework versione 2.0

Aggiornamento: novembre 2007

La versione 2.0 di Microsoft .NET Framework si arricchisce rispetto alla 1.1 di nuove funzionalità, miglioramenti a funzionalità esistenti e aggiornamenti della documentazione. Nella presente sezione vengono fornite informazioni relative ad alcune aggiunte e modifiche rilevanti.

Per ulteriori informazioni sulle modifiche sostanziali che possono avere effetto sull'applicazione, vedere la pagina Modifiche importanti in .NET Framework (informazioni in lingua inglese).

Supporto per piattaforme a 64 bit

La nuova generazione di computer a 64 bit consente la creazione di applicazioni che possono essere eseguite in modo più efficiente sfruttando una maggiore quantità di memoria rispetto a quella disponibile per applicazioni a 32 bit. Il nuovo supporto per applicazioni a 64 bit consente agli utenti di compilare librerie di codice gestito oppure di utilizzare con facilità librerie di codice non gestito su computer a 64 bit. Per ulteriori informazioni, vedere Applicazioni a 64 bit.

Supporto per ACL

Un elenco di controllo di accesso (ACL, Access Control List) consente di concedere o revocare l'autorizzazione per l'accesso a una risorsa su un computer. In .NET Framework sono state introdotte nuove classi che consentono al codice gestito di creare e modificare un ACL. Inoltre, nuovi membri che utilizzano un ACL sono stati aggiunti all'I/O, al Registro di sistema e alle classi di threading.

ADO.NET

Tra le nuove funzionalità di ADO.NET sono inclusi il supporto per i tipi definiti dall'utente, le operazioni asincrone su database, i tipi di dati XML, i tipi di valore di grandi dimensioni, l'isolamento dello snapshot e i nuovi attributi che consentono alle applicazioni di supportare il servizio MARS (Multiple Active Result Sets) con SQL Server 2005. Per ulteriori informazioni su queste e altre nuove funzionalità di ADO.NET, vedere Novità di ADO.NET.

ASP.NET

In Microsoft .NET Framework 2.0 sono stati introdotti miglioramenti significativi a tutte le aree di ASP.NET. Per lo sviluppo di pagine Web, nuovi controlli consentono di aggiungere più facilmente funzionalità utilizzate di frequente a pagine Web dinamiche. Con i nuovi controlli dati è possibile visualizzare e modificare i dati su una pagina Web ASP.NET senza scrivere codice. Un modello code-behind migliorato rende più semplice ed efficiente lo sviluppo di pagine ASP.NET. Le funzionalità relative alla cache forniscono nuovi modi per la memorizzazione di pagine nella cache, inclusa la capacità di compilare dipendenze della cache sulle tabelle di un database SQL Server.

È ora possibile personalizzare pagine e siti Web in diversi modi. Le proprietà di profilo consentono a ASP.NET di tenere traccia in maniera automatica dei valori di proprietà relativi a singoli utenti. Mediante l'utilizzo di Web Part è possibile creare pagine che gli utenti possono personalizzare nel browser. Con l'ausilio di controlli semplici è possibile aggiungere menu di spostamento.

I miglioramenti apportati alle funzionalità relative ai siti Web consentono di creare siti Web professionali in modo più semplice e rapido. Mediante le pagine master è possibile creare un layout coerente per tutte le pagine di un sito, mentre con i temi è possibile definire un aspetto coerente per controlli e testo statico. Per favorire la sicurezza dei siti, è possibile precompilare un sito Web in modo da generare codice eseguibile a partire dai file di origine (sia i file di codice sia il markup nelle pagine aspx) e quindi distribuire l'output risultante, in cui non sono incluse informazioni sull'origine, in un server di produzione. I miglioramenti a ASP.NET includono inoltre nuovi strumenti e classi progettati per semplificare l'attività di gestione dei siti Web per sviluppatori di siti, amministratori di server e gestori di host.

ASP.NET supporta un'ampia varietà di browser e periferiche. Per impostazione predefinita, i controlli eseguono il rendering dell'output compatibile con gli standard XHTML 1.1. È possibile utilizzare i filtri di periferica per specificare valori di proprietà diversi nello stesso controllo per browser differenti.

Flussi autenticati

Nelle applicazioni possono essere utilizzate le nuove classi NegotiateStream e SslStream per l'autenticazione e per la trasmissione sicura delle informazioni tra un client e un server. Queste classi di flussi autenticati supportano la firma e la crittografia dei dati, nonché l'autenticazione reciproca. Per l'autenticazione la classe NegotiateStream utilizza il protocollo di sicurezza Negotiate, mentre la classe SslStream utilizza il protocollo di sicurezza SSL (Secure Socket Layer).

Miglioramenti ai servizi di interoperabilità COM

Per le classi e gli strumenti che supportano l'interoperabilità COM sono stati introdotti quattro miglioramenti principali:

  • Il sistema operativo gestisce un numero limitato di handle, che vengono utilizzati come riferimento alle risorse critiche del sistema operativo. Le nuove classi SafeHandle e CriticalHandle e le relative classi specializzate derivate forniscono un sistema sicuro e affidabile per la modifica degli handle del sistema operativo.

  • Per il marshalling è stata semplificata l'interoperabilità con il codice nativo. Due miglioramenti apportati al gestore del marshalling di interoperabilità soddisfano le due esigenze più comuni degli utenti, ossia la capacità di eseguire il wrapping di puntatori a funzioni native nei delegati e quella di eseguire il marshalling di matrici di strutture a dimensione fissa all'interno di strutture.

  • Le prestazioni delle chiamate tra applicazioni in domini differenti sono state notevolmente migliorate per i tipi di chiamate comuni.

  • Le nuove opzioni per l'Utilità di importazione della libreria dei tipi (Tlbimp.exe) e l'Utilità di esportazione della libreria dei tipi (Tlbexp.exe) eliminano la dipendenza dal Registro di sistema nella risoluzione dei riferimenti alle librerie di tipi. Questo miglioramento è importante per la creazione di ambienti di compilazione efficienti.

Aggiunte alla classe Console

I nuovi membri della classe Console introducono nuove funzionalità nelle applicazioni, consentendo la modifica delle dimensioni della finestra della console e del buffer dello schermo, lo spostamento di un'area rettangolare del buffer dello schermo (utile per eseguire animazioni semplici e lineari) e l'attesa durante la lettura dell'input della console finché non viene premuto un tasto. Altri nuovi membri della classe controllano i colori di sfondo e primo piano del testo, la visibilità e la dimensione del cursore, nonché la frequenza e la durata del segnale acustico emesso dalla console.

DPAPI

La nuova DPAPI (Data Protection API) comprende quattro metodi che consentono alle applicazioni di crittografare password, chiavi, stringhe di connessione e così via senza utilizzare il richiamo piattaforma. È inoltre possibile crittografare blocchi di memoria su computer che eseguono il sistema operativo Windows Server 2003 o versioni successive.

Attributi di visualizzazione del debugger

È ora possibile controllare la modalità di visualizzazione di una classe o di un membro durante il debug di un'applicazione. La funzionalità relativa agli attributi di visualizzazione del debugger consente di identificare le informazioni più utili da visualizzare nel debugger.

Supporto per Modifica e continuazione nel debugger

In .NET Framework 2.0 è stata reintrodotta la funzionalità Modifica e continuazione, che consente a un utente che esegue il debug di un'applicazione in Visual Studio di apportare modifiche al codice sorgente durante l'esecuzione in modalità di interruzione. Una volta apportate le modifiche al codice sorgente, l'utente può riprendere l'esecuzione del codice e osservare il risultato. Inoltre, la funzionalità Modifica e continuazione è disponibile in tutti i linguaggi di programmazione supportati da Visual Studio.

Rilevamento di modifiche nella connettività di rete

La classe NetworkChange consente alle applicazioni di ricevere una notifica in caso di variazione dell'indirizzo IP (Internet Protocol) di un'interfaccia di rete, definita anche scheda di rete. L'indirizzo di un'interfaccia può cambiare per diversi motivi, ad esempio un cavo di rete scollegato, lo spostamento fuori dall'intervallo di una rete WAN o un errore hardware. La classe NetworkChange fornisce notifiche relative alla variazione dell'indirizzo generando eventi ogni volta che viene rilevata una modifica.

Elaborazione distribuita

Nello spazio dei nomi System.Net è stato aggiunto il supporto per le richieste di client FTP, la memorizzazione nella cache di risorse HTTP, l'individuazione automatica dei proxy e il recupero di informazioni statistiche e di dati sul traffico di rete. Nello spazio dei nomi è ora inclusa una classe di server Web (HttpListener) che è possibile utilizzare per creare un semplice server Web per la risposta a richieste HTTP. Le classi che generano il traffico di rete sono state instrumentate per restituire informazioni di analisi relative al debug e alla diagnostica delle applicazioni. Per le classi System.Net.Sockets.Socket e System.Uri sono stati introdotti miglioramenti alla sicurezza e alle prestazioni.

Negli spazi dei nomi System.Web.Services è stato aggiunto il supporto per SOAP 1.2 ed elementi nullable.

Negli spazi dei nomi System.Runtime.Remoting.Channels sono state aggiunte funzionalità di sicurezza dei canali. Il canale TCP supporta ora l'autenticazione e la crittografia, nonché diverse nuove funzionalità per un migliore bilanciamento del carico.

Miglioramenti a EventLog

È ora possibile utilizzare DLL personalizzate per messaggi, parametri e categorie della classe EventLog.

Espansione di Gestione certificati

.NET Framework supporta ora catene, estensioni e archivi certificati X.509. È anche possibile firmare e verificare documenti XML mediante certificati X.509 senza utilizzare il richiamo piattaforma. È inoltre presente il supporto per la crittografia e la firma PKCS7, nonché CMS, un superset dello standard PKCS7 disponibile su Microsoft Windows 2000 e i sistemi operativi successivi. PKCS7 è il formato sottostante utilizzato in S/MIME (Secure/Multipurpose Internet Mail Extensions) per la firma e la crittografia dei dati. Per ulteriori informazioni, vedere l'argomento relativo alla classe X509Certificate2.

Supporto FTP

Le applicazioni possono ora accedere alle risorse FTP mediante le classi WebRequest, WebResponse e WebClient.

Generics e insiemi generici

In .NET Framework 2.0 sono stati introdotti generics per consentire la creazione di codice flessibile e riutilizzabile. Le funzionalità dei linguaggi denominate generics svolgono la funzione di modelli che consentono di dichiarare e definire classi, strutture, interfacce, metodi e delegati con parametri non specificati di tipo generico anziché con tipi specifici. I tipi veri e propri vengono specificati in un secondo momento, quando l'elemento generico viene utilizzato. In diversi spazi dei nomi, ad esempio System e System.Collections.Generic, vengono forniti classi e metodi generici. Il nuovo spazio dei nomi System.Collections.Generic fornisce il supporto per gli insiemi fortemente tipizzati. I generics sono supportati in tre linguaggi: Visual Basic, C# e C++.

La reflection è stata estesa per consentire l'analisi e la modifica in fase di esecuzione di metodi e tipi generici. Sono stati aggiunti nuovi membri a System.Type e System.Reflection.MethodInfo, inclusi IsGenericType per l'identificazione dei tipi generici (ad esempio class Gen<T,U> {...}), GetGenericArguments per il recupero di elenchi di parametri di tipo e MakeGenericType per la creazione di tipi specifici (ad esempio new Gen<int, long>()).

Globalizzazione

Cinque nuove funzionalità relative alla globalizzazione forniscono maggiore supporto per lo sviluppo di applicazioni in lingue e impostazioni cultura differenti.

  • Il supporto per le impostazioni cultura personalizzate consente di definire e distribuire le informazioni correlate alla lingua in base alle proprie esigenze. Questa funzionalità è utile per la creazione di versioni personalizzate di definizioni di impostazioni cultura esistenti e per la creazione di definizioni di impostazioni cultura che ancora non esistono in .NET Framework. Per ulteriori informazioni, vedere la classe CultureAndRegionInfoBuilder.

  • Le operazioni di codifica e decodifica consentono di mappare un carattere Unicode a o da un flusso di byte, che è possibile trasferire su un supporto fisico quale un disco o una linea di comunicazioni. Se un'operazione di mapping non riesce, è possibile utilizzare in alternativa la nuova funzionalità di fallback di codifica e decodifica supportata da diverse classi nello spazio dei nomi System.Text.

  • I membri della classe UTF8Encoding che implementa la codifica UTF-8 sono molto più veloci rispetto alle versioni precedenti. UTF-8 è la codifica più comune utilizzata per trasformare i caratteri Unicode in byte sui computer.

  • .NET Framework supporta ora lo standard di normalizzazione più recente definito dal Consorzio Unicode. Il processo di normalizzazione converte le rappresentazioni dei caratteri di testo in un formato standard, affinché sia possibile verificarne l'uguaglianza.

  • L'overload di metodo GetCultureInfo fornisce una versione memorizzata nella cache di un oggetto CultureInfo in sola lettura. Per migliorare le prestazioni del sistema e ridurre l'utilizzo della memoria, quando si crea un nuovo oggetto CultureInfo utilizzare la versione memorizzata nella cache.

Miglioramenti alle classi I/O

Sono stati apportati miglioramenti all'utilizzo e al funzionamento di varie classi I/O. È ora più semplice per gli utenti eseguire operazioni di lettura e scrittura di file di testo e recuperare informazioni relative a un'unità.

È ora possibile utilizzare le classi dello spazio dei nomi System.IO.Compression per leggere e scrivere dati con il formato standard di compressione e decompressione GZIP, descritto nelle specifiche IETF RFC 1951 e RFC 1952 disponibili nella pagina di ricerca IETF Request for Comments (RFC) (informazioni in lingua inglese). Nota: la ricerca è limitata ai numeri RFC.

Attivazione basata su manifesto

Questa funzionalità fornisce un nuovo supporto per il caricamento e l'attivazione delle applicazioni mediante l'utilizzo di un manifesto. L'attivazione basata su manifesto è essenziale per il supporto delle applicazioni ClickOnce. Tradizionalmente le applicazioni vengono attivate attraverso un riferimento a un assembly che contiene il punto di ingresso dell'applicazione. Ad esempio, facendo clic sul file EXE di un'applicazione dalla shell di Windows, verrà caricato Common Language Runtime (CLR) e verrà eseguita una chiamata a un punto di ingresso noto all'interno dell'assembly del file EXE.

Il modello basato su manifesto utilizza per l'attivazione il manifesto di un'applicazione anziché un assembly. Un manifesto contiene informazioni dettagliate sull'applicazione, sulle relative dipendenze, sui requisiti di sicurezza e così via. Il modello basato su manifesto presenta diversi vantaggi rispetto a quello basato su assembly, soprattutto per le applicazioni Web. Il manifesto, ad esempio, contiene i requisiti di sicurezza dell'applicazione e quindi permette all'utente di decidere se consentire l'esecuzione dell'applicazione prima del download del codice. Il manifesto contiene inoltre informazioni sulle dipendenze delle applicazioni.

L'attivazione basata su manifesto viene fornita da un insieme di API che consentono agli host gestiti di attivare le applicazioni e i componenti aggiuntivi descritti da un manifesto. Queste API contengono una combinazione di nuove classi ed estensioni relative a classi esistenti.

Questo modello di attivazione chiama inoltre un'entità denominata gestore di attendibilità che esegue le seguenti attività:

  1. Determina se un'applicazione può essere attivata. Questa decisione può essere presa richiedendo l'input dell'utente, eseguendo query sui criteri o con qualsiasi altro mezzo ritenuto appropriato per un determinato gestore di attendibilità.

  2. Imposta il contesto di sicurezza in cui eseguire un'applicazione. Più comunemente, questo passaggio implica l'impostazione di una struttura di criteri di sicurezza dell'accesso di codice sul dominio di esecuzione dell'applicazione.

.NET Remoting

In .NET Remoting è ora incluso il supporto per gli indirizzi IPv6 e lo scambio di tipi generici. Le classi dello spazio dei nomi System.Runtime.Remoting.Channels.Tcp supportano l'autenticazione e la crittografia mediante l'interfaccia SSPI (Security Support Provider Interface). Le classi del nuovo spazio dei nomi System.Runtime.Remoting.Channels.Ipc consentono ad applicazioni sullo stesso computer di comunicare rapidamente senza utilizzare la rete. Infine, è ora possibile configurare il timeout della cache di connessione e il numero di tentativi di metodo, in modo da migliorare le prestazioni dei cluster remoti di rete con carico bilanciato.

Recupero delle informazioni sulla configurazione e sull'utilizzo della rete di computer locali

Utilizzando le classi dello spazio dei nomi System.Net.NetworkInformation, le applicazioni possono accedere alle statistiche sul traffico di rete IP, IPv4, IPv6, TCP e UDP. Possono inoltre visualizzare le informazioni relative alla configurazione e agli indirizzi per le schede di rete dei computer locali. Queste informazioni sono simili a quelle restituite dallo strumento della riga di comando Ipconfig.exe.

Ping

La classe Ping consente a un'applicazione di determinare se un computer remoto è accessibile sulla rete. La classe fornisce una funzionalità simile allo strumento della riga di comando Ping.exe e supporta le chiamate sincrone e asincrone.

Elaborazione di richieste HTTP dalle applicazioni

È possibile utilizzare la classe HttpListener per creare un semplice server Web in grado di rispondere alle richieste HTTP. Il server Web è attivo per l'intera durata dell'oggetto HttpListener e viene eseguito all'interno dell'applicazione, con le relative autorizzazioni. La classe è disponibile solo su computer che eseguono i sistemi operativi Windows XP Service Pack 2 o Windows Server 2003.

Controllo a livello di codice della memorizzazione nella cache

Utilizzando le classi dello spazio dei nomi System.Net.Cache, le applicazioni possono controllare la memorizzazione nella cache delle risorse ottenute mediante le classi WebRequest, WebResponse e WebClient. È possibile utilizzare i criteri di cache predefiniti forniti da .NET Framework o specificare un criterio personalizzato. È possibile specificare un criterio di cache per ciascuna richiesta e impostare un criterio predefinito per le richieste in cui non è specificato alcun criterio.

Linguaggi di programmazione

Quattro linguaggi di programmazione Microsoft sono destinati in modo esplicito a .NET Framework: Visual C#, Microsoft C/C++, Visual J# e Visual Basic.

Compilatore e linguaggio Visual Basic

I miglioramenti introdotti nel linguaggio Visual Basic semplificano il codice sorgente e consentono l'interazione con i componenti che utilizzano funzionalità avanzate.

Compilatore

In Visual Basic viene utilizzata una nuova costante di compilazione condizionale, VBC_VER, per tutti i progetti. Questa versione ha il valore VBC_VER 8.0.

Per il compilatore della riga di comando di Visual Basic, le opzioni predefinite della riga di comando vengono ora archiviate nel file Vbc.rsp, nella stessa directory del compilatore (Vbc.exe). È possibile modificare Vbc.rsp in modo da riconfigurare le opzioni predefinite della riga di comando.

Nel compilatore della riga di comando sono disponibili le seguenti nuove opzioni:

  • /doc consente di generare un file di documentazione XML basato sui commenti all'interno del codice.

  • /noconfig consente al compilatore di ignorare il file Vbc.rsp.

  • /codepage specifica la tabella codici da utilizzare all'apertura dei file di origine.

  • /filealign specifica la dimensione delle sezioni incluse nel file di output.

  • /nostdlib (Visual Basic) indica al compilatore di non fare riferimento alle librerie standard.

Per ulteriori informazioni, vedere Opzioni del compilatore di Visual Basic.

Linguaggio

Nella versione corrente del linguaggio Visual Basic sono disponibili sette nuovi elementi:

Eccezioni di sicurezza

La classe System.Security.SecurityException è stata espansa in modo da fornire dati aggiuntivi per facilitare l'analisi della causa delle eccezioni di sicurezza. Le nuove proprietà forniscono informazioni quali il metodo in cui si è verificata l'eccezione, la prima autorizzazione con esito negativo, l'area o l'URL dell'assembly, l'azione di sicurezza non riuscita e l'azione di sicurezza sullo stack di chiamate, quale Deny o PermitOnly, che ha determinato l'eccezione.

Supporto per periferiche seriali di I/O

La nuova classe SerialPort consente alle applicazioni di accedere alle porte seriali di un computer e di comunicare con periferiche seriali di I/O.

Serializzazione

Le classi BinaryFormatter e SoapFormatter supportano ora la serializzazione indipendente dalla versione, che consente di deserializzare un tipo dalla serializzazione di una diversa versione. Per informazioni dettagliate, vedere Serializzazione a tolleranza di versione.

La serializzazione XML supporta ora l'utilizzo di proprietà anziché di campi per la rappresentazione di elementi di schema, la serializzazione di tipi generici e l'utilizzo della struttura Nullable<T> per rappresentare gli elementi nullable. L'interfaccia IXmlSerializable supporta la generazione di schemi personalizzati. La classe SchemaImporterExtension consente di controllare la generazione di codice proxy modificando gli schemi durante l'importazione. È possibile modificare, ad esempio, il proxy generato quando si utilizza la funzionalità Aggiungi riferimento Web di Visual Studio oppure lo Strumento del linguaggio di descrizione dei servizi Web (Wsdl.exe).

Il nuovo Strumento per la generazione di serializzatori XML (Sgen.exe) consente di precompilare il codice utilizzato dai client di servizi Web per serializzare le informazioni trasmesse, in modo da migliorare notevolmente il tempo di avvio dei client. Per informazioni dettagliate, vedere Introduzione alla serializzazione XML.

Supporto SMTP

Utilizzando le classi negli spazi dei nomi System.Net.Mail e System.Net.Mime, le applicazioni possono inviare messaggi di posta elettronica a uno o più destinatari. Questi messaggi possono essere spediti con visualizzazioni alternative e possono includere allegati. È inoltre supportato l'invio di copie per conoscenza e per conoscenza nascosta.

Supporto per risorse fortemente tipizzate

Il Generatore di file di risorse (Resgen.exe) consente di creare file di risorse incorporati in file eseguibili e assembly satellite. Resgen.exe genera una classe wrapper per ciascun file di risorse, semplificando in tal modo l'accesso a queste ultime e impedendo errori di ortografia nei relativi nomi.

Miglioramenti ai thread

È ora possibile assegnare un nome agli eventi di comunicazione tra più processi creati esclusivamente in codice gestito. La classe Semaphore supporta inoltre il conteggio delle risorse specializzate.

Filtro dei dati di analisi

In .NET Framework 2.0 vengono fornite classi che tengono traccia ed eseguono la registrazione degli eventi di sistema correlati a I/O, avvio e arresto di applicazioni e così via. Tuttavia, l'enorme volume e la varietà dei tipi di informazioni rendono difficile per gli utenti l'analisi dei dati. Il nuovo supporto per il filtro dei dati di analisi consente di specificare il tipo di informazioni da registrare.

Transazioni

Il nuovo spazio dei nomi System.Transactions contiene classi che consentono alle applicazioni di partecipare a transazioni gestite da Microsoft Distributed Transaction Coordinator (MSDTC) o dal gestore transazioni locale. Lo spazio dei nomi System.Transactions fornisce sia un modello di programmazione esplicito basato sulla classe Transaction sia un modello di programmazione implicito basato sulla classe TransactionScope, in cui le transazioni vengono gestite automaticamente dall'infrastruttura. Questa infrastruttura di transazioni può interagire facilmente con l'infrastruttura di transazioni System.EnterpriseServices (COM+) esistente. Lo spazio dei nomi System.Transactions fornisce anche le classi per l'implementazione di un gestore risorse. Quest'ultimo gestisce i dati permanenti o volatili utilizzati in una transazione e interagisce con il gestore transazioni per fornire all'applicazione la garanzia di atomicità e isolamento.

Servizi Web

I servizi Web supportano SOAP 1.2 e WS-I Basic Profile 1.0, come documentato sul sito Web Services Interoperability Organization - Basic Profile Version 1.0 (informazioni in lingua inglese).

Quando si utilizzano due o più servizi Web che definiscono un tipo condiviso, i proxy client generati per tali servizi condividono il tipo corrispondente sul client. In questo modo, i client possono passare facilmente istanze di tipi condivisi tra servizi Web.

È ora possibile chiamare metodi Web in modo asincrono utilizzando un modello di programmazione basato sugli eventi.

Funzionalità correlate a Windows Form

Distribuzione ClickOnce

La tecnologia di distribuzione ClickOnce consente di distribuire applicazioni Windows autoaggiornanti che possono essere installate ed eseguite con estrema facilità, proprio come le applicazioni Web. È possibile distribuire applicazioni client Windows e applicazioni con riga di comando. Nei menu Compila e Progetto di Visual Studio sono ora presenti nuovi comandi per la pubblicazionedei progetti. Per ulteriori informazioni, vedere Cenni preliminari sulla distribuzione ClickOnce.

Impostazioni applicazione

Impostazioni applicazione di Windows Form semplifica le operazioni di creazione, archiviazione e gestione delle preferenze personalizzate a livello di applicazione e utente nel computer client. Le impostazioni di Windows Form consentono non solo di archiviare i dati relativi all'applicazione, quali le stringhe di connessione a database, ma anche i dati specifici dell'utente, ad esempio le posizioni delle barre degli strumenti e gli elenchi utilizzati più di recente. Per ulteriori informazioni, vedere Cenni preliminari sulle impostazioni delle applicazioni.

Nuovo modello di associazione dati

Il componente BindingSource semplifica il processo di associazione dati agendo come intermediario tra il controllo associato e l'origine dati di destinazione. Molti dei più difficili problemi di associazione, ad esempio la valuta, gli eventi correlati ai dati e le modifiche all'origine dati di destinazione, vengono gestiti automaticamente. È anche progettato per interagire con altri controlli Windows Form correlati ai dati, in particolare il controllo BindingNavigator e i controlli DataGridView. Per ulteriori informazioni, vedere Il componente BindingSource. Il componente BindingSource semplifica il processo di associazione dei controlli a un'origine dati sottostante, svolgendo la funzione sia di condotto sia di origine dati a cui si associano altri controlli.

Nuovi controlli di Windows Form

Il controllo DataGridView fornisce un sistema efficiente e flessibile per visualizzare i dati in formato tabulare. È possibile utilizzarlo per aprire visualizzazioni in sola lettura di piccole quantità di dati oppure adattarlo per aprire visualizzazioni modificabili di insiemi di dati di dimensioni molto grandi. È possibile che i dati risiedano in un'origine dati esterna oppure che vengano aggiunti direttamente al controllo. Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo DataGridView (Windows Form).

I controlli ToolStrip sono barre degli strumenti che possono contenere menu, controlli e controlli utente nelle applicazioni Windows Form. La classe ToolStrip e le relative classi associate consentono di creare barre degli strumenti e altri elementi dell'interfaccia utente in uno stile coerente con Microsoft Windows XP, Microsoft Office e Microsoft Internet Explorer. È inoltre possibile utilizzare queste classi per personalizzare barre degli strumenti ed elementi dell'interfaccia utente. Per ulteriori informazioni, vedere la classe Cenni preliminari sul controllo ToolStrip (Windows Form).

Il controllo MaskedTextBox utilizza una definizione di maschera per distinguere tra input utente validi e non validi. Per ulteriori informazioni, vedere la classe Controllo MaskedTextBox (Windows Form).

La classe SoundPlayer di Windows Form consente di includere suoni nelle applicazioni con facilità. SoundPlayer consente di riprodurre file audio nel formato WAV, da una risorsa o da percorsi UNC (Universal Naming Convention) o HTTP, nonché di caricare o riprodurre i suoni in modo asincrono. Per ulteriori informazioni, vedere la classe Classe SoundPlayer.

Il controllo SplitContainer Windows Form può essere considerato un oggetto composto, poiché è costituito da due pannelli separati da una barra mobile. Quando il puntatore del mouse viene spostato sulla barra, il cursore assume una forma diversa per indicare che la barra è mobile. Questo controllo consente di creare interfacce utente complesse e riutilizzabili, efficaci per la visualizzazione e l'esplorazione delle informazioni. Per ulteriori informazioni, vedere Controllo SplitContainer.

Il controllo ListView supporta ora le tre funzionalità fornite da Windows XP e dalla famiglia Windows Server 2003: visualizzazione affiancata, raggruppamento e riposizionamento degli elementi mediante trascinamento della selezione.

I controlli ListView, TreeView e ToolTip supportano ora la funzionalità di disegno personalizzato simile al supporto per il disegno personalizzato relativo ai controlli ComboBox, ListBox, MenuItem e TabControl della versione precedente.

Il controllo WebBrowser consente di includere pagine Web nelle applicazioni Windows Form in uso. È possibile utilizzare WebBrowser per fornire una guida HTML integrata o funzionalità di esplorazione Web per Internet nell'applicazione. È inoltre possibile utilizzare il controllo WebBrowser per convertire le applicazioni Web esistenti in applicazioni client in cui il codice HTML dinamico (DHTML) è totalmente integrato con le funzionalità dell'interfaccia utente di Windows Form. Per ulteriori informazioni, vedere Cenni preliminari sul controllo WebBrowser.

Il controllo FlowLayoutPanel dispone il proprio contenuto in senso orizzontale o verticale. Il controllo TableLayoutPanel dispone il proprio contenuto in una griglia. Poiché il layout viene effettuato sia in fase di progettazione che in fase di esecuzione, può cambiare dinamicamente in base alle modifiche dell'ambiente di applicazione, Per ulteriori informazioni, vedere Cenni preliminari sul controllo FlowLayoutPanel e Cenni preliminari sul controllo TableLayoutPanel.

Il componente BackgroundWorker consente di eseguire operazioni in background che possono richiedere molto tempo, come il download di immagini e le transazioni del database. Per ulteriori informazioni, vedere Cenni preliminari sul componente BackgroundWorker.

Il Modello asincrono per componenti è un modello basato su eventi in grado di offrire i vantaggi delle applicazioni multithread nascondendo al tempo stesso molti degli aspetti complessi inerenti la progettazione multithread. Per ulteriori informazioni, vedere Modello asincrono per componenti.

Funzionalità correlate al linguaggio XML

In .NET Framework 2.0 sono stati introdotti numerosi miglioramenti, tra cui un nuovo processore XSLT (XSL Transformation), il supporto dei tipi nelle classi XmlReader, XmlWriter e XPathNavigator e nuove funzionalità di modifica nella classe XPathNavigator. È inoltre presente un nuovo modello per la creazione di oggetti XmlReader e XmlWriter e sono stati apportati numerosi miglioramenti relativi alle prestazioni. Per ulteriori informazioni, vedere Novità di System.Xml.

Vedere anche

Concetti

Riferimento rapido alle aree tecnologiche

Altre risorse

Cenni preliminari su .NET Framework