Understanding of Various .NET Framework Versions
This article talks about the features supported by the .NET Framework 1.1 and .NET Framework 2.0 Beta. In this article the following features will be discussed.
.NET Framework version 1.1
The .NET Framework version 1.1 extends the .NET Framework version 1.0 with new features and improvements to existing features .
.NET Framework version 1.1 includes technologies that previously were available as independent installations, and are now included in the .NET Framework version 1.1
ASP.NET Mobile Controls
ASP.NET Mobile Controls (formerly the Microsoft Mobile Internet Toolkit) extends the .NET Framework and Visual Studio .NET by providing support for mobile (wireless) devices such as cell phones and personal data assistants (PDAs). The .NET Framework version 1.1 release incorporates the mobile controls into the .NET Framework and Visual Studio .NET distributions.
Because mobile controls are now a part of the .NET Framework, the terminology has changed the name and Mobile Internet Toolkit is replaced by ASP.NET Mobile Controls.
ASP.NET comprises controls, components, and tools to help you build mobile Web applications rapidly for multiple types of wireless devices - without writing code that is structured for a specific device. ASP.NET Mobile Web Forms support mobile devices and recognize and adaptively provide appropriate rendering for a variety of mobile devices.
Changes in ADO.NET
The .NET Framework Data Provider for ODBC, which previously was available as a Web download only, now ships with the .NET Framework under the namespace System.Data.Odbc.
.NET Framework 1.0 was not having Data provider for Oracle. Developers using the .NET Framework version 1.0 were able to download the .NET Framework Data Provider for Oracle from
http://msdn.microsoft.com/downloads.
The .NET Framework Data Provider for Oracle now ships with the .NET Framework 1.1 under the namespace System.Data.OracleClient.
In addition, ADO.NET now includes the following features:
The DataReader object now exposes a HasRows property to determine if rows were returned without having to call Read
Retrieving Data Using the DataReader
Can use the ADO.NET DataReader to retrieve a read-only, forward-only stream of data from a database. Results are returned as the query executes, and are stored in the network buffer on the client until request them using the Read method of the DataReader. Using the DataReader can increase application performance both by retrieving data as soon as it is available, rather than waiting for the entire results of the query to be returned, and (by default) storing only one row at a time in memory, reducing system overhead.
After creating an instance of the Command object, you create a DataReader by calling Command.ExecuteReader to retrieve rows from a data source, as shown in the following example.
[Visual Basic]
Dim myReader As SqlDataReader = myCommand.ExecuteReader()
[C#]
SqlDataReader myReader = myCommand.ExecuteReader();
Use the Read method of the DataReader object to obtain a row from the results of the query. You can access each column of the returned row by passing the name or ordinal reference of the column to the DataReader.
The Windows Server 2003 release of the .NET Framework includes an additional property for the DataReader, HasRows, which enables you to determine if the DataReader has returned any results before reading from it.
[Visual Basic]
If myReader.HasRows Then
Do While myReader.Read()
Console.WriteLine(vbTab & "{0}" & vbTab & "{1}",
myReader.GetInt32(0), myReader.GetString(1))
Loop
Else
Console.WriteLine("No rows returned.")
End If
myReader.Close()
Side - by - Side execution
.NET Framework version 1.1 supports side-by-side execution. This is the ability to store and execute multiple versions of an application or component on the same computer. This means that you can have multiple versions of the runtime, and multiple versions of applications and components that use a version of the runtime, on the same computer at the same time. In addition, subsequent installations of other versions of the .NET Framework or of a component will not affect the applications already installed.
IPv6 Support in the .NET Framework
The .NET Framework version 1.1 supports the emerging update to the Internet Protocol, commonly referred to as IP version 6, or simply IPv6. Protocol IPV6 is designed to significantly increase the address space used to identify communication endpoints in the Internet to accommodate its ongoing growth.
IPv6 is supported in the System.Net namespace, ASP.NET, and XML Web services.
Version Compatibility
The .NET Framework supports both backward and forward compatibility.
Backward compatibility means that an application created using an early version of the .NET Framework will run on a later version. Forward compatibility means that an application created using a later version of the .NET Framework will run on an earlier version.
The .NET Framework provides a high degree of support for backward compatibility. For example, most applications created using version 1.0 will run on version 1.1. The .NET Framework also supports forward compatibility. However, for forward compatibility you might need to modify an application so that the application runs as expected. For both backward and forward compatibility, a change to the .NET Framework that helps improve security, correctness, or functionality might also raise compatibility issues.
.NET Framework version 2.0
The .NET Framework version 2.0 Beta extends the .NET Framework version 1.1 with new features, improvements to existing features, and enhancements to the documentation.
64-Bit Platform Support
The new generation of 64-bit computers enables the creation of applications that can run faster and take advantage of more memory than is available to 32-bit applications. New support for 64-bit applications enables users to build managed code libraries or easily use unmanaged code libraries on 64-bit computers.
Access Control List Support
An access control list (ACL) is used to grant or revoke permission to access a resource on a computer. New classes have been added to the .NET Framework that allow managed code to create and modify an ACL, and new members that utilize an ACL have been added to the I/O, registry, and threading classes.
ADO.NET
New features in ADO.NET include support for
- user-defined types (UDT)
- asynchronous database operations
- XML data types
- large value types
- snapshot isolation
- and new attributes that allow applications to support multiple active result sets (MARS) with SQL Server 2005
Asynchronous Processing
Allows you to perform asynchronous database operations using an API that is modeled after the asynchronous model used by the .NET Framework. Some database operations, generally command execution, can take considerable time to complete. Single-threaded applications must block and wait for the command to finish its work before continuing their own operation. The capability of assigning the long-running operation to a background thread gives the foreground thread the ability to remain active throughout the operation.
In a Windows application, for example, delegating the long-running operation to a background thread allows the user interface thread to remain responsive while the operation is executing. The .NET framework provides several standard asynchronous design patterns that allow developers to take advantage of background threads in order to free the user interface or high-priority threads to complete other operations while the background task is executing.
ADO.NET supports these same design patterns in its SqlCommand class. Specifically, the BeginExecuteNonQuery, BeginExecuteReader, and BeginExecuteXmlReader methods, paired with the EndExecuteNonQuery, EndExecuteReader, and EndExecuteXmlReader methods, provide the asynchronous support.
Multiple Active Result Sets (MARS)
MARS is a new feature supported by ADO.NET that allows the execution of multiple batches on a single connection.
In previous versions, only one batch could be executed at a time against a single connection. When using a MARS-enabled connection, multiple logical batches can be executed on a single connection. Executing multiple batches with MARS does not imply simultaneous execution of operations.
ASP .NET 2.0
The Microsoft .NET Framework version 2.0 includes significant enhancements to ASP.NET Specific areas in which ASP.NET has been improved are:
'''Productivity'''. You can easily and quickly create ASP.NET Web pages and applications using new ASP.NET server controls and existing controls with new features.
- New areas such as membership, personalization, and themes provide system-level functionality that would normally require extensive developer coding.
- Core development scenarios, particularly data, have been addressed by new data controls, no-code binding, and smart data-display controls.
Flexibility and extensibility. The enhanced ASP.NET architecture supports a broader range of Web applications. For example, all controls now feature integrated support for browsers and devices so that they support the type of functionality previously available in the MMIT. Many ASP.NET features are also extensible so that you can easily incorporate custom features into applications. The ASP.NET provider model, for example, provides pluggable support for different data sources.
Performance. Features such as precompilation, configurable caching, and SQL cache invalidation allow you to optimize the performance of your Web applications.
Security. It is now easier than ever to add authentication and authorization to your Web applications.
Hosting. ASP.NET includes new features that make it easier to manage a hosting environment and create more opportunities for hosters to add value.
Completeness. New and existing features work in concert to allow you to create end-to-end scenarios that address real-world Web development challenges.
About the author
Vidya Vrat Agarwal, a Microsoft .NET Purist, and a MCSD.NET, MCAD.NET, MCSD, MCT. He is also a Life Member of Computer Society of India (CSI). He started working on Microsoft.NET with its beta release. He has been involved in software development, corporate trainings,T3 programs, technical writing and consultation for Microsoft.NET for various corporate clients.
Presently he is working with
LionBridge Technologies in Mumbai - India, where he works with Microsoft Dept. on Whidbey and Yukon and his business card reads Subject Matter Expert His technical profile holds .NET Framework, VC#, VB.NET, WebServices, Remoting, SQL Server, COM, DCOM, COM+, MTS, MSMQ. Whidbey, Yukon and Longhorn.
His blog can be read at
http://dotnetpassion.blogspot.com