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
   14   15   16   17   18   19   20   21   22   23   24