About the .NET Framework

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1

Important

This feature is not available on Windows XP 64-Bit Edition and the 64-bit versions of the Windows Serverâ„¢ 2003 family. For more information, see "Features unavailable on 64-bit versions of the Windows Server family" in Help and Support Center for Windows 2003.

The Microsoft .NET Framework is a new computing platform that simplifies application development in the distributed environment of the Internet. The .NET Framework is designed to provide an object-oriented programming environment that guarantees the safe execution of code, and to eliminate the performance problems of scripted environments.

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. Microsoft ASP.NET hosts the runtime to provide core services such as memory management, thread management, and remoting while enforcing strict type safety and other forms of code accuracy that ensure security and robustness. Code management is a fundamental principle of the runtime; code that targets the runtime is called managed code, while code that does not target the runtime is called unmanaged code.

The .NET Framework class library is a comprehensive, object-oriented collection of reusable types that developers can use to create ASP.NET applications.

Common Language Runtime Features

The common language runtime (CLR) manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime hosted by ASP.NET. Managed components are granted varying degrees of trust, depending on a number of factors including their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform sensitive functions, even if it is being used in the same active application.

The CLR enforces code access security. Applications can be granted access to specific resources but cannot access any resources outside of those limits.

The CLR also enforces code robustness by implementing a strict type- and code-verification structure called the common type system (CTS). The CTS ensures that all managed code is self-describing, which means that managed code can consume other types and instances regardless of which language compiler was used to develop the software.

In addition, the managed environment of the CLR eliminates many common software issues. For example, the CLR automatically handles object layout and manages references to objects, releasing them when they are no longer in use. This automatic memory management resolves the two most common application errors: memory leaks and invalid memory references. The CLR is designed to enhance performance. Although the CLR provides many standard runtime services, managed code is never interpreted. Just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager further improves performance.

.NET Framework Class Library Features

The .NET Framework class library is a collection of reusable types that tightly integrate with the CLR. The class library is object-oriented, providing types from which applications can derive additional functionality. This object orientation makes the .NET Framework types easy to use and it reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework.

The .NET Framework types enable you to accomplish a range of common programming tasks such as string management, data collection, database connectivity, and file access. In addition, the class library includes types that support a variety of specialized development scenarios.