Page 19 - DCAP312_WEB_TECHNOLOGIES_II
P. 19
Unit 1: Making Sense of .NET and Anatomy of an ASP.NET Page
Now we discuss some of the more significant features provided to .NET applications by the Notes
CLR. These include:
• Memory Management
• Common Type System
Before moving further let us discuss briefly about Common Language Infrastructure (CLI)
according to Standardizing Information and Communication Systems (ECMA) specifications.
The Microsoft Shared Source CLI Implementation is a file archive containing working source
code for the ECMA-334 (C#) and ECMA-335 (Common Language Infrastructure, or CLI)
standards. In addition to the CLI implementation and the C# compiler, the Shared Source CLI
Implementation from Microsoft called ROTOR contains tools, utilities, additional Framework
classes, and samples.
For the benefit of existing codebases, the CLI standard also takes pains to describe in detail how
unmanaged software can co-exist safely with managed components, enabling seamless sharing
of computing resources and responsibilities. Like the C runtime, the CLI has been designed to
exploit the power of diverse platforms, as well as to complement existing tools, languages, and
runtimes. Let us look at a few of the likely ways that the Shared Source CLI Implementation
might interest you:
• There are significant differences in implementation between this code and the code for
Microsoft’s commercial CLR implementation, both to facilitate portability and to make the
code base more approachable. If you are a developer who is interested in knowing how
JIT compilers and garbage collectors work, or of how Microsoft Visual Studio works on
your behalf under the covers, this distribution will definitely hold your attention!
• The distribution will help you in creating courseware around interesting topics that can
be illustrated by this codebase.
• The distribution will help you in implementing your own version of the CLI and it also
helps you in understanding the way the compilers and tools target the CLI.
1.5.2 Automatic Memory Management
A major feature of .NET framework CLR is that the runtime automatically handles the allocation
and release of an object’s memory resources.
Automatic memory management enhances code quality and developer productivity without
negatively impacting expressiveness or performance.
The Garbage Collector (GC) is responsible for collecting the objects no longer referenced by
the application. The GC may automatically be invoked by the CLR or the application may
explicitly invoke the GC by calling GC.Collect. Objects are not released from memory until
the GC is invoked and setting an object reference to nothing does not invoke the GC, a period
of time often elapses between when the object is no longer referenced by the application and
when the GC collects it.
1.5.3 Common Type System
The Common Type System defines how data types are affirmed, used, and managed in the
runtime, and is also a significant part of the runtime’s bear for the Cross-Language incorporation.
The common type system performs the following functions:
• Establishes a framework that enables cross-language integration, type safety, and high
performance code execution.
• Provides an object-oriented model that supports the complete implementation of many
programming languages.
LOVELY PROFESSIONAL UNIVERSITY 13