INTRODUCTION TO .NET FRAMEWORK
The
.NET Framework is a new computing platform that simplifies application
development in the highly distributed environment of the Internet. The .NET
Framework is designed to fulfill the following objectives:
·
To
provide a consistent object-oriented programming environment whether object
code is stored and executed locally, executed locally but Internet-distributed,
or executed remotely.
·
To
provide a code-execution environment that minimizes software deployment and
versioning conflicts.
·
To
provide a code-execution environment that guarantees safe execution of code,
including code created by an unknown or semi-trusted third party.
·
To
provide a code-execution environment that eliminates the performance problems
of scripted or interpreted environments.
·
To
make the developer experience consistent across widely varying types of
applications, such as Windows-based applications and Web-based applications.
·
To
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 common language runtime and the
.NET Framework class library. The common language runtime is the foundation of
the .NET Framework. You can think of the runtime as an agent that manages code
at execution time, providing core services such as memory management, thread
management, and Remoting, while also enforcing strict type safety and other
forms of code accuracy that ensure security and robustness. In fact, the
concept of code management is a fundamental principle of the runtime. Code that
targets the runtime is known as managed code, while code that does not target
the runtime is known as unmanaged code. The class library, the other main component
of the .NET Framework, is a comprehensive, object-oriented collection of
reusable types that you can use to develop applications ranging from
traditional command-line or graphical user interface (GUI) applications to
applications based on the latest innovations provided by ASP.NET, such as Web
Forms and XML Web services.
The
.NET Framework not only provides several runtime hosts, but also supports the
development of third-party runtime hosts.
For example, ASP.NET hosts the runtime to provide a
scalable, server-side environment for managed code. ASP.NET works directly with
the runtime to enable Web Forms applications and XML Web services, both of
which are discussed later in this topic.
Internet Explorer is an example of an unmanaged
application that hosts the runtime (in the form of a MIME type extension).
Using Internet Explorer to host the runtime enables you to embed managed
components or Windows Forms controls in HTML documents. Hosting the runtime in
this way makes managed mobile code (similar to Microsoft® ActiveX® controls)
possible, but with significant improvements that only managed code can offer,
such as semi-trusted execution and secure isolated file storage.
The following illustration shows the relationship of
the common language runtime and the class library to your applications and to
the overall system. The illustration also shows how managed code operates
within a larger architecture.
FEATURES OF THE COMMON LANGUAGE RUNTIME
The common language runtime 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.
With regards to security, managed components are
awarded varying degrees of trust, depending on a number of factors that include
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
file-access operations, registry-access operations, or other sensitive
functions, even if it is being used in the same active application.
The runtime enforces code access security. For example,
users can trust that an executable embedded in a Web page can play an animation
on screen or sing a song, but cannot access their personal data, file system,
or network. The security features of the runtime thus enable legitimate
Internet-deployed software to be exceptionally featuring rich.
The runtime also enforces code
robustness by implementing a strict type- and code-verification infrastructure
called the common type system (CTS). The CTS ensures that all managed code is
self-describing. The various Microsoft and third-party language compilers
Generate managed code that conforms to the CTS. This
means that managed code can consume other managed types and instances, while
strictly enforcing type fidelity and type safety.
In addition, the managed environment of the runtime
eliminates many common software issues. For example, the runtime automatically
handles object layout and manages references to objects, releasing them when
they are no longer being used. This automatic memory management resolves the
two most common application errors, memory leaks and invalid memory references.
The runtime also accelerates developer productivity.
For example, programmers can write applications in their development language
of choice, yet take full advantage of the runtime, the class library, and
components written in other languages by other developers. Any compiler vendor
who chooses to target the runtime can do so. Language compilers that target the
.NET Framework make the features of the .NET Framework available to existing
code written in that language, greatly easing the migration process for
existing applications.
While the runtime is designed for the software of the
future, it also supports software of today and yesterday. Interoperability
between managed and unmanaged code enables developers to continue to use
necessary COM components and DLLs.
The runtime is designed to enhance performance.
Although the common language runtime provides many standard runtime services,
managed code is never interpreted. A feature called 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 removes the
possibilities of fragmented memory and increases memory locality-of-reference
to further increase performance.
Finally, the runtime can be hosted by high-performance,
server-side applications, such as Microsoft® SQL Server™ and Internet
Information Services (IIS). This infrastructure enables you to use managed code
to write your business logic, while still enjoying the superior performance of
the industry's best enterprise servers that support runtime hosting.
0 comments:
Post a Comment