Subscribe to Windows IT Pro

 

Get Newsletters

  • Get the Latest News
  • Product Updates
  • Helpful Tricks
  • Productivity Tips

Subscribe Now!

April 02, 2002 12:00 AM

Get Ready for .NET

Windows IT Pro
InstantDoc ID #24479
Rating: (0)
Understanding the Microsoft .NET Framework

Between the Microsoft .NET Framework and Microsoft Visual Studio .NET (the tool that helps developers build .NET applications), developers have never had so much exciting power at their fingertips. But with this exciting developer technology comes the daunting task of providing a solid, secure platform on which to deploy these new applications. Before you can build and administer such a platform, you must understand the key features of the .NET Framework—the Common Language Runtime (CLR) and the .NET Framework class library—and the implications of installing the .NET Framework in your production environment.

What's the .NET Framework?
The Microsoft marketing machine spent more than 2 years trying to explain to the technology masses just what .NET is. I've found that the objectives the .NET Framework attempts to accomplish best describe it. As the .NET Framework software development kit (SDK) documentation states, the .NET Framework is designed to fulfill these objectives:

  • Provide a consistent, object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
  • Provide a code-execution environment that minimizes software deployment and versioning conflicts.
  • Provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semitrusted third party.
  • Provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
  • Make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
  • Build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the CLR and the .NET Framework class library.

The CLR
The CLR, which is the foundation of the .NET Framework, is a negotiator that manages code at execution time. The CLR provides core services, such as

  • memory management—The CLR's garbage collector automatically manages the allocation and release of memory for an application. This management is a big win for IIS administrators who have suffered Web server crashes and subsequent memory leaks because of developer mistakes.
  • thread management—Threads are the basic unit to which the OS allocates CPU time. The OS uses processes to separate the different applications that it executes, and more than one thread can be executing code within those processes.
  • remoting—Remoting enables different applications to communicate with one another.
  • enforcement of strict type safety—Type-safe code is code that accesses types (e.g., memory) in well-defined, structural ways and has strict rules that help prevent mistakes.

The concept of code management is a fundamental principle of the CLR, and applications that the CLR manages are called managed applications. Applications such as Active Server Pages (ASP) applications that aren't targeted to the CLR (i.e., aren't written on the .NET Framework) are called unmanaged applications. Managed applications benefit from features such as cross-language integration, cross-language exception handling, enhanced security, versioning and deployment support, a simplified model for component interaction, and debugging and profiling services.

When you compile a managed application, a .NET language compiler translates your source code into Microsoft intermediate language (MSIL) code. You can write the source code in any .NET-compliant language—that is, a language for which a .NET language compiler exists. Currently, compilers exist for the languages of Visual Basic .NET, JScript .NET, C#, and managed C++.

MSIL code is a CPU-independent set of instructions. Before the MSIL code can execute, the CLR must convert it to CPU-specific code, usually with a just-in-time (JIT) compiler. JIT compilation takes into account that the runtime engine might never call some code during execution. Therefore, rather than using processing time and memory to convert all the MSIL code to native (i.e., CPU-specific) code at one time, the JIT compiler converts the MSIL code on an as-needed basis during execution. The compiler stores the resulting native code so that it's accessible for subsequent calls. Because the CLR supplies JIT compilers for each computer architecture that the CLR supports, the same MSIL code can be JIT-compiled and executed on any supported architecture.

The .NET Framework Class Library
The class library, the second main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable data types that developers use to write .NET applications. You can parallel the class library to the Win32 API set, which historically developers have used to leverage resources such as OS functionality. The .NET Framework includes classes, interfaces, and value types that optimize the software-development process by making it easier to build powerful software. The class library, like the Win32 API set, provides access to system functionality such as editing the IIS metabase and stopping the Web server.

Related Content:

ARTICLE TOOLS

Comments
  • Sergey Lebedev
    8 years ago
    Jun 15, 2004

    Short but very clear. Another good explanation of what .NET really is. Thanks!

You must log on before posting a comment.

Are you a new visitor? Register Here

advertisement

advertisement

White Papers

Get your Windows 7 deployment off to the right start by implementing PC lockdown. A locked-down environment is easier and cheaper to support since users are less likely to make unnecessary changes to the core system configuration - read more here!

Essential Guides

Is your iSCSI "lossy"? The reality is that most off-the-shelf Ethernet hardware deployed for iSCSI can lose packets, resulting in slow performance or application downtime. Learn how to assess your current iSCSI infrastructure and engineer an advanced iSCSI SAN infrastructure.

Web Seminars

What's the best way to keep your network safe from malware? In this web seminar, security expert Greg Shields suggests an alternative method to the traditional blacklisting approach that is common with anti-virus and anti-malware solutions.

eLearning Series

We bring the experts direct to you to share their real-world perspective and expertise. During each event, three sessions stream in real time, so you can learn, ask questions, and get solutions.
Upcoming event: Getting the Most with Exchange 2010 with Paul Robichaux

Subscribe to Windows IT Pro!

Windows is a trademark of the Microsoft group of companies. Windows IT Pro is used by Penton Media Inc. under license from owner.