What's New in the .NET Framework 1.1

The .NET Framework version 1.1 extends the .NET Framework version 1.0 with new features, improvements to existing features, and enhancements to the documentation.

Native Support for Developing Mobile Web Applications

The .NET Framework 1.1 now features native support for developing mobile Web applications. ASP.NET mobile controls (formerly the Microsoft Mobile Internet Toolkit) extend ASP.NET server controls so that they adapt to the mobile device on which the Web application is rendering. Through browser detection, the mobile controls conform to the capabilities of individual devices ranging from full-featured personal digital assistant (PDA) browsers to small, 5-line × 20-character mobile phone displays. This adaptive rendering feature handles many of the tedious, device-specific rendering decisions and frees you to focus on your Web application logic. The .NET Framework 1.1 incorporates the mobile controls into the .NET Framework and Microsoft Visual Studio® .NET distributions.

Granular Version Control: Side-by-Side Execution

Support for side-by-side execution in the .NET Framework 1.1 enables systems administrators 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 .NET Framework Redistributable, as well as multiple versions of applications and components that use a version of the Redistributable, on the same computer at the same time.

Side-by-side execution does not imply that a managed application is compatible with other versions of the Redistributable or of a component. Rather, it means that a managed application can choose the Redistributable and the components it executes with, and that multiple versions of the Redistributable, applications, and components can coexist on the same computer. Systems administrators control this through the application's configuration file.

By default, in the absence of configuration file instructions:

  • If an application written with the .NET Framework 1.0 is installed on a system with only the .NET Framework 1.1 Redistributable present, the application will try to run against version 1.1.
  • If an application written with the .NET Framework 1.0 is installed on a system with both versions 1.1 and 1.0 of the Redistributable present, the application will run against version 1.0 unless an administrator changes the behavior.
  • If an application written with the .NET Framework 1.1 is installed on a system with only the .NET Framework 1.0 Redistributable, it will not run (unless configured to do so).

ASP.NET applications represent an exception to this behavior. When the .NET Framework 1.1 Redistributable is installed on a server, ASP.NET Web applications and XML Web services are, by default, automatically configured to run with it. Again, systems administrators have the ability to override this default behavior and configure some or all of these applications to run with the .NET Framework 1.0 Redistributable.

For more information, see Versioning, Compatibility, and Side-by-Side Execution in the .NET Framework.

Enable Execution of Windows Forms Assemblies Originating from the Internet

Assemblies originating from the Internet zone—for example, Microsoft Windows® Forms controls embedded in an Internet-based Web page or Windows Forms assemblies hosted on an Internet Web server and loaded either through the Web browser or programmatically using the System.Reflection.Assembly.LoadFrom() method—now receive sufficient permission to execute in a semi-trusted manner. Default security policy has been changed so that assemblies assigned by the common language runtime (CLR) to the Internet zone code group now receive the constrained permissions associated with the Internet permission set. In the .NET Framework 1.0 Service Pack 1 and Service Pack 2, such applications received the permissions associated with the Nothing permission set and could not execute.

Note: While we are re-enabling code from the Internet zone, the defaults do not give this code full access to the user's machine. By default, thanks to code access security, this code runs in a restricted manner and is allowed access only to a limited set of resources that are safe to use. This code cannot damage your data or system, and it cannot steal private information that you do not explicitly give it.

Enable Code Access Security for ASP.NET Applications

Systems administrators can now use code access security to further lock down the permissions granted to ASP.NET Web applications and Web services. Although the operating system account under which an application runs imposes security restrictions on the application, the code access security system of the CLR can enforce additional restrictions on selected application resources based on policies specified by systems administrators. You can use this feature in a shared server environment (such as an Internet service provider (ISP) hosting multiple Web applications on one server) to isolate separate applications from one another, as well as with stand-alone servers where you want applications to run with the minimum necessary privileges.

Native Support for Communicating with ODBC and Oracle Databases

Developers can now enjoy native support for communication with ODBC and Oracle databases. The .NET Framework Data Provider for ODBC, which previously was available only as a Web download, now ships with the .NET Framework under the namespace System.Data.Odbc. It provides access to native ODBC drivers the same way the OLE DB .NET Data Provider provides access to native OLE DB providers.

The .NET Framework Data Provider for Oracle, also previously available only as a Web download, now ships with the .NET Framework under the namespace System.Data.OracleClient. It provides access to Oracle databases using the Oracle Call Interface (OCI) as provided by Oracle Client software.

Unified Programming Model for Smart Client Application Development

The Microsoft .NET Compact Framework brings the CLR, Windows Forms controls, and other .NET Framework features to small devices. The .NET Compact Framework supports a large subset of the .NET Framework class library optimized for small devices.

Supported devices include the Pocket PC 2000, Pocket PC 2002, Pocket PC 2002 Phone Edition, and custom-designed embedded devices built with the Windows CE .NET 4.1 operating system. Earlier versions of Windows CE .NET are not supported.

The .NET Compact Framework provides the following key features:

  • A compact CLR that brings the benefits of managed code (such as memory management, code reliability, and language neutrality) to devices.
  • Consistency with desktop and server programming models.
  • Seamless connection with Web services.
  • Rich enterprise-class data access features with XML classes and ADO.NET.
  • Classes to program applications that access data using Microsoft SQL Server™ 2000 and Windows CE 2.0.
  • Full access to native platform features through platform invoke.
  • Just-in-time (JIT) compilation for optimal performance.

Note: The .NET Compact Framework does not ship natively with the .NET Framework. Developers may access the .NET Compact Framework using Visual Studio .NET 2003.

Support for IPv6

The .NET Framework 1.1 supports the emerging update to the Internet Protocol, commonly referred to as IP version 6, or simply IPv6. This protocol is designed to significantly increase the address space used to identify communication endpoints in the Internet to accommodate its ongoing growth.

Scalability, Performance, Documentation

In addition to the areas discussed above, significant improvements have been made to the .NET Framework in the areas of scalability and performance. Enhancements have also been made to the documentation, which now includes more code examples and several new sections (including one entitled Secure Code Guidelines).