.NET Framework 2.0 Enhancements
Because there are so many new features in the .NET Framework, we could not begin to cover them in this limited space. Of course, we will do our best to point them out throughout the book. That said, we wanted to make sure to highlight some of those key enhancements that make this version of the .NET Framework such a great advancement. The following outlines a few of these items:
- 64-Bit support—You can now compile your .NET application to target a 64-bit version of the operating system. This includes native support and WOW64 compatibility support (allows 32-bit applications to run on 64-bit systems).
- ACL support—.NET developers can now use access control list (ACL) features to manage permissions on resources from their code. New classes have been added to the IO namespace (and others) to help you grant users rights to files and the like.
- Authenticated streams—The new NegotiateStream class allows for secure (SSL encrypted) authentication between a client and a server (listener) when transmitting information across the wire. With it, you can securely pass the client's credentials through impersonation or delegation. In addition, the new SslStream class allows for the encryption of the data during the transfer.
- Data Protection API (DPAPI)—There is new support in .NET 2.0 for working with the DPAPI. Support includes the ability to encrypt passwords and connection strings on the server. Developers could tap into this in prior versions of .NET through a wrapper class available for download. In 2.0, this access is built into the Framework.
- Network change discovery—Your application can now be notified when it loses a connection to the network. With the NetworkChange class, developers can know when the computer hosting their application has lost its wireless connection or changed its IP address.
- FTP support—The System.Net namespace now provides classes for working with FTP. Developers can use the WebRequest, WebResponse, and WebClient classes to send and receive files over this protocol.
- Globalization enhancements—The new version of the Framework enables developers to define their own custom cultures. This gives you the ultimate flexibility when working with culture-related information in your application. In addition, .NET 2.0 provides updated Unicode support.
- Greater caching control—Developers can now use the System.Net.Cache namespace to programmatically control caching.
- Serial I/O device support—There is now a SerialPort class in the System.IO namespace. This class allows developers to work with devices that connect to a serial port on a computer.
- Enhanced SMTP support—The System.Net.Mail namespace enables developers to send email through an SMTP server.
- Transactions—.NET developers have a new System.Transactions namespace that allows .NET-developed classes to easily participate in a distributed transaction using the Microsoft Distributed Transaction Coordinator (MSDTC).
New Features of Core Technologies
ADO.NET, ASP.NET, and WinForms all have major advancements in the 2005 release. Each of these topics could be the subject of a separate book. ADO.NET, for instance, now has the support for user-defined type (UDT) and asynchronous database operations. Both ASP and WinForms have many new controls (and enhancements to the old controls). Both technologies, for example, bring back zero-code data binding. We suggest you explore each of these items in depth to see the many new advancements in these core areas.