SlideShare une entreprise Scribd logo
1  sur  30
Microsoft.NET Framework
Introduction
Difference between Library,
Framework
• A Library is a reusable set of types/functions you can
use from a wide variety of applications. The application
code initiates communication with the library and
invokes it.
• A Framework consists of one or more libraries, but the
difference is that Inversion of Control applies. The
application registers with the framework (often by
implementing one or more interfaces), and the
framework calls into the application, which may call
back into the framework. A framework often exists to
address a particular general-purpose Domain (such as
web applications, or workflows, etc.).
History of Microsoft application
platforms
• The Microsoft Foundation Class library (MFC)
offered a C++ abstraction over GUI
programming. Using MFC, developers could
focus more on what their program should do
and they can focus less on message loops,
window procedures, window classes, and so
on.
History (Cont.)
• With Microsoft Visual Basic 6 and earlier,
developers also had an abstraction that made
it easier to build GUI applications. This
abstraction technology served a purpose
similar to MFC but was geared towards
developers programming in Basic, and it gave
different emphasis to the various parts of GUI
programming
History (Cont.)
• Microsoft's ASP technology offered an
abstraction allowing developers to build active
and dynamic Web sites by using Visual Basic
Script or JScript. ASP allowed developers to
focus more on the Web page content and less
on the network communications
History (Cont.)
• Microsoft's Active Template Library (ATL)
offered an abstraction allowing developers to
more easily create components that could be
used by developers working in multiple
programming languages.
Problems with earlier technology
• Each of these abstraction technologies was
designed to make it easier for developers
focusing on a particular scenario such as GUI
applications, Web applications, or
components. If a developer wanted to build a
Web site that used a component, the
developer would have to learn multiple
abstraction technologies: ASP and ATL.
Problems with earlier technologies
(Cont.)
• Furthermore, the developer would have to be
proficient in multiple programming languages
since ASP required either Visual Basic Script or
JScript, and ATL required C++.
• Frequently, the various abstraction
technologies weren't originally designed to
work together, so developers fought
integration issues
Motivation for .NET
• The .NET Framework raises the abstraction
level for any and all kinds of applications.
• This means that there is a single programming
model and set of APIs that developers will use
regardless of whether they are building a
console application, graphical application,
Web site, or even components for use by any
of these application types.
Cross language
• It is now possible to build a Web site and
components that all use a single language
such as Visual Basic or Microsoft's relatively
new C# programming language
Simplified programming model
• The CLR seeks to greatly simplify the plumbing and
arcane constructs required by Win32 and COM.
Specifically, the CLR now frees the developer from
having to understand any of the following concepts:
the registry, globally unique identifiers (GUIDs),
IUnknown, AddRef, Release, HRESULTs, and so on.
• The CLR doesn't just abstract these concepts away
from the developer; these concepts simply don't exist
in any form in the CLR. Of course, if you want to write a
.NET Framework application that interoperates with
existing, non-.NET code, you must still be aware of
these concepts.
Easier integration
• These features also mean that integration
issues also go away, which greatly improves
testing, deployment, administration,
versioning, and re-usability and re-purposing
of code
Consistent programming model
• Unlike today, when commonly some operating
system facilities are accessed via dynamic-link
library (DLL) functions and other facilities are
accessed via COM objects, all application
services are offered via a common object
oriented programming model.
Run once, run always
• All Windows developers are familiar with "DLL
hell" versioning problems. This situation occurs
when components being installed for a new
application overwrite components of an old
application, causing the old application to exhibit
strange behavior or stop functioning altogether.
The architecture of the .NET Framework now
isolates application components so that an
application always loads the components that it
was built and tested with. If the application runs
after installation, the application should always
run.
Simplified deployment
• The .NET Framework components are not
referenced by the registry. In fact, installing
most .NET Framework applications requires no
more than copying the files to a directory and
adding a shortcut to the Start menu, desktop,
or Quick Launch toolbar. Uninstalling the
application is as simple as deleting the files.
Type-safe verification
• Type safety ensures that allocated objects are
always accessed in compatible ways. Hence, if
a method input parameter is declared as
accepting a 4-byte value, the CLR will detect
and trap attempts to access the parameter as
an 8-byte value. Similarly, if an object occupies
10 bytes in memory, the application can't
coerce the object into a form that will allow
more than 10 bytes to be read
Interoperability
• The .NET Framework fully supports the ability
for developers to access their existing COM
components as well as call Win32 functions in
existing DLLs.
Security
• With the increasing reliance on mobile code
such as Web scripts, applications downloaded
over the Internet, and e-mail attachments, we
need ways to control the behavior of
applications in a more code-centric manner.
Code access security provides a means to do
this
The .NET Framework is:
• Common Language Runtime – provides an
abstraction layer over the operating system
• Base Class Libraries – pre-built code for
common low-level programming tasks
• Development frameworks and technologies –
reusable, customizable solutions for larger
programming tasks
CLR
• 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 isolated file storage.
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.
Class Library (Cont.)
• The Framework Class Library provides an
object-oriented API set that all application
models will use. It includes type definitions
that allow developers to perform file and
network I/O, scheduling tasks on other
threads, drawing shapes, comparing strings,
and so on. Of course,all of these type
definitions follow the programming model set
forth by the CLR
.NET Framework in context
Common Language Runtime (CLR)
• 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
• Provides core services such as memory
management, thread management, and
remoting, while also enforcing strict type
safety
CLR
• Code that targets the runtime is known as
managed code, while code that does not target
the runtime is known as unmanaged code
• The .NET Framework can be hosted by
unmanaged components that load the common
language runtime into their processes and initiate
the execution of managed code, thereby creating
a software environment that can exploit both
managed and unmanaged features
CLR
• 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 ASP.NET
applications and XML Web services
• Internet Explorer is an example of an
unmanaged application that hosts the runtime
(in the form of a MIME type extension).
Consistent method failure paradigm
• Exceptions work across module and
programming language boundaries. And,
unlike status codes and HRESULTs, exceptions
can't be ignored. The CLR also provides built-
in stack-walking facilities, making it much
easier to locate any bugs and failures
Automatic memory management
(garbage collection)
• One of the most common bugs is neglecting to
free one of these resources, ultimately causing
the application to perform improperly at some
unpredictable time. The CLR automatically
tracks resource usage, guaranteeing that your
application will never leak resources
Programming language integration
• The CLR makes it possible to create a class in C++
that derives from a class implemented in Visual
Basic
• The CLR allows this because it defines and
provides a Common Type System (CTS) that all
programming languages that target the CLR must
use. The Common Language Specification (CLS)
describes what compiler implementers must do
in order for their languages to integrate well with
other languages
Wide platform reach
• You can deploy your .NET Framework
application on any machine that has an ECMA-
compliant version of the CLR and FCL running
on it

Contenu connexe

Tendances

.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)Rishi Kothari
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
.net CLR
.net CLR.net CLR
.net CLRDevTalk
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsQuontra Solutions
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET FrameworkKamlesh Makvana
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overviewFaisal Aziz
 
dot net technology
dot net technologydot net technology
dot net technologyImran Khan
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Jeff Blankenburg
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
 
.Net overview
.Net overview.Net overview
.Net overviewmadydud
 
.Net framework
.Net framework.Net framework
.Net frameworkViv EK
 
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...yazad dumasia
 

Tendances (20)

.Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1).Net Overview -- Training (Lesson 1)
.Net Overview -- Training (Lesson 1)
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
.net CLR
.net CLR.net CLR
.net CLR
 
Net overview
Net overviewNet overview
Net overview
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 
.Net framework
.Net framework.Net framework
.Net framework
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
 
dot net technology
dot net technologydot net technology
dot net technology
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5Migrating To Visual Studio 2008 & .Net Framework 3.5
Migrating To Visual Studio 2008 & .Net Framework 3.5
 
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)
 
Net framework
Net frameworkNet framework
Net framework
 
Introduction to .net
Introduction to .netIntroduction to .net
Introduction to .net
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net framework
.Net framework.Net framework
.Net framework
 
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...
 
Introduction of .net framework
Introduction of .net frameworkIntroduction of .net framework
Introduction of .net framework
 
Net framework
Net frameworkNet framework
Net framework
 

En vedette

New Features in .Net Framework 4.0 By Nyros Developer
New Features in .Net Framework 4.0 By Nyros DeveloperNew Features in .Net Framework 4.0 By Nyros Developer
New Features in .Net Framework 4.0 By Nyros DeveloperNyros Technologies
 
2² C# 4.0 and .NET 4 Selected Features
2² C# 4.0 and .NET 4 Selected Features2² C# 4.0 and .NET 4 Selected Features
2² C# 4.0 and .NET 4 Selected FeaturesMustafa Isik
 
New features in .NET 4.5, C# and VS2012
New features in .NET 4.5, C# and VS2012New features in .NET 4.5, C# and VS2012
New features in .NET 4.5, C# and VS2012Subodh Pushpak
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Adminrchakra
 
Discoverability and visibility2
Discoverability and visibility2Discoverability and visibility2
Discoverability and visibility2tranant
 
Lyme Disease For PECs
Lyme Disease For PECsLyme Disease For PECs
Lyme Disease For PECsmjkidd
 
Sql 2005 the ranking functions
Sql 2005   the ranking functionsSql 2005   the ranking functions
Sql 2005 the ranking functionsrchakra
 
Intro To .Net Threads
Intro To .Net ThreadsIntro To .Net Threads
Intro To .Net Threadsrchakra
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2rchakra
 
Subversion
SubversionSubversion
Subversionrchakra
 
Sql basics 2
Sql basics 2Sql basics 2
Sql basics 2rchakra
 
T-Sql basics
T-Sql basicsT-Sql basics
T-Sql basicsrchakra
 
West Nile For PECs
West Nile For PECsWest Nile For PECs
West Nile For PECsmjkidd
 
Subversion client
Subversion clientSubversion client
Subversion clientrchakra
 
Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software teamrchakra
 
Introduction to ADO.NET
Introduction to ADO.NETIntroduction to ADO.NET
Introduction to ADO.NETrchakra
 
Sql architecture
Sql architectureSql architecture
Sql architecturerchakra
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net frameworkThen Murugeshwari
 

En vedette (20)

New Features in .Net Framework 4.0 By Nyros Developer
New Features in .Net Framework 4.0 By Nyros DeveloperNew Features in .Net Framework 4.0 By Nyros Developer
New Features in .Net Framework 4.0 By Nyros Developer
 
2² C# 4.0 and .NET 4 Selected Features
2² C# 4.0 and .NET 4 Selected Features2² C# 4.0 and .NET 4 Selected Features
2² C# 4.0 and .NET 4 Selected Features
 
New features in .NET 4.5, C# and VS2012
New features in .NET 4.5, C# and VS2012New features in .NET 4.5, C# and VS2012
New features in .NET 4.5, C# and VS2012
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Admin
 
Discoverability and visibility2
Discoverability and visibility2Discoverability and visibility2
Discoverability and visibility2
 
Lyme Disease For PECs
Lyme Disease For PECsLyme Disease For PECs
Lyme Disease For PECs
 
Sql 2005 the ranking functions
Sql 2005   the ranking functionsSql 2005   the ranking functions
Sql 2005 the ranking functions
 
Intro To .Net Threads
Intro To .Net ThreadsIntro To .Net Threads
Intro To .Net Threads
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
 
Subversion
SubversionSubversion
Subversion
 
Sql basics 2
Sql basics 2Sql basics 2
Sql basics 2
 
T-Sql basics
T-Sql basicsT-Sql basics
T-Sql basics
 
West Nile For PECs
West Nile For PECsWest Nile For PECs
West Nile For PECs
 
Subversion client
Subversion clientSubversion client
Subversion client
 
Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software team
 
1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
Introduction to ADO.NET
Introduction to ADO.NETIntroduction to ADO.NET
Introduction to ADO.NET
 
Sql architecture
Sql architectureSql architecture
Sql architecture
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
Architecture of .net framework
Architecture of .net frameworkArchitecture of .net framework
Architecture of .net framework
 

Similaire à Intro to Microsoft.NET (20)

.net Based Component Technologies
.net Based Component Technologies.net Based Component Technologies
.net Based Component Technologies
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
C# and dot net framework
C# and dot net frameworkC# and dot net framework
C# and dot net framework
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
 
Dotnet1
Dotnet1Dotnet1
Dotnet1
 
C# chap 2
C# chap 2C# chap 2
C# chap 2
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
 
1 what is microsoft .net framework
1 what is microsoft .net framework1 what is microsoft .net framework
1 what is microsoft .net framework
 
dotNET frameworks
dotNET frameworksdotNET frameworks
dotNET frameworks
 
Best DotNet Training in Delhi
Best   DotNet Training  in DelhiBest   DotNet Training  in Delhi
Best DotNet Training in Delhi
 
c#.pptx
c#.pptxc#.pptx
c#.pptx
 
Unit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdfUnit I- Introduction to .NET Framework.pdf
Unit I- Introduction to .NET Framework.pdf
 
.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3.NET Core, ASP.NET Core Course, Session 3
.NET Core, ASP.NET Core Course, Session 3
 
.Net framework
.Net framework.Net framework
.Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
 
Net Framework overview
Net Framework overviewNet Framework overview
Net Framework overview
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
 

Intro to Microsoft.NET

  • 2. Difference between Library, Framework • A Library is a reusable set of types/functions you can use from a wide variety of applications. The application code initiates communication with the library and invokes it. • A Framework consists of one or more libraries, but the difference is that Inversion of Control applies. The application registers with the framework (often by implementing one or more interfaces), and the framework calls into the application, which may call back into the framework. A framework often exists to address a particular general-purpose Domain (such as web applications, or workflows, etc.).
  • 3. History of Microsoft application platforms • The Microsoft Foundation Class library (MFC) offered a C++ abstraction over GUI programming. Using MFC, developers could focus more on what their program should do and they can focus less on message loops, window procedures, window classes, and so on.
  • 4. History (Cont.) • With Microsoft Visual Basic 6 and earlier, developers also had an abstraction that made it easier to build GUI applications. This abstraction technology served a purpose similar to MFC but was geared towards developers programming in Basic, and it gave different emphasis to the various parts of GUI programming
  • 5. History (Cont.) • Microsoft's ASP technology offered an abstraction allowing developers to build active and dynamic Web sites by using Visual Basic Script or JScript. ASP allowed developers to focus more on the Web page content and less on the network communications
  • 6. History (Cont.) • Microsoft's Active Template Library (ATL) offered an abstraction allowing developers to more easily create components that could be used by developers working in multiple programming languages.
  • 7. Problems with earlier technology • Each of these abstraction technologies was designed to make it easier for developers focusing on a particular scenario such as GUI applications, Web applications, or components. If a developer wanted to build a Web site that used a component, the developer would have to learn multiple abstraction technologies: ASP and ATL.
  • 8. Problems with earlier technologies (Cont.) • Furthermore, the developer would have to be proficient in multiple programming languages since ASP required either Visual Basic Script or JScript, and ATL required C++. • Frequently, the various abstraction technologies weren't originally designed to work together, so developers fought integration issues
  • 9. Motivation for .NET • The .NET Framework raises the abstraction level for any and all kinds of applications. • This means that there is a single programming model and set of APIs that developers will use regardless of whether they are building a console application, graphical application, Web site, or even components for use by any of these application types.
  • 10. Cross language • It is now possible to build a Web site and components that all use a single language such as Visual Basic or Microsoft's relatively new C# programming language
  • 11. Simplified programming model • The CLR seeks to greatly simplify the plumbing and arcane constructs required by Win32 and COM. Specifically, the CLR now frees the developer from having to understand any of the following concepts: the registry, globally unique identifiers (GUIDs), IUnknown, AddRef, Release, HRESULTs, and so on. • The CLR doesn't just abstract these concepts away from the developer; these concepts simply don't exist in any form in the CLR. Of course, if you want to write a .NET Framework application that interoperates with existing, non-.NET code, you must still be aware of these concepts.
  • 12. Easier integration • These features also mean that integration issues also go away, which greatly improves testing, deployment, administration, versioning, and re-usability and re-purposing of code
  • 13. Consistent programming model • Unlike today, when commonly some operating system facilities are accessed via dynamic-link library (DLL) functions and other facilities are accessed via COM objects, all application services are offered via a common object oriented programming model.
  • 14. Run once, run always • All Windows developers are familiar with "DLL hell" versioning problems. This situation occurs when components being installed for a new application overwrite components of an old application, causing the old application to exhibit strange behavior or stop functioning altogether. The architecture of the .NET Framework now isolates application components so that an application always loads the components that it was built and tested with. If the application runs after installation, the application should always run.
  • 15. Simplified deployment • The .NET Framework components are not referenced by the registry. In fact, installing most .NET Framework applications requires no more than copying the files to a directory and adding a shortcut to the Start menu, desktop, or Quick Launch toolbar. Uninstalling the application is as simple as deleting the files.
  • 16. Type-safe verification • Type safety ensures that allocated objects are always accessed in compatible ways. Hence, if a method input parameter is declared as accepting a 4-byte value, the CLR will detect and trap attempts to access the parameter as an 8-byte value. Similarly, if an object occupies 10 bytes in memory, the application can't coerce the object into a form that will allow more than 10 bytes to be read
  • 17. Interoperability • The .NET Framework fully supports the ability for developers to access their existing COM components as well as call Win32 functions in existing DLLs.
  • 18. Security • With the increasing reliance on mobile code such as Web scripts, applications downloaded over the Internet, and e-mail attachments, we need ways to control the behavior of applications in a more code-centric manner. Code access security provides a means to do this
  • 19. The .NET Framework is: • Common Language Runtime – provides an abstraction layer over the operating system • Base Class Libraries – pre-built code for common low-level programming tasks • Development frameworks and technologies – reusable, customizable solutions for larger programming tasks
  • 20. CLR • 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 isolated file storage.
  • 21. 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.
  • 22. Class Library (Cont.) • The Framework Class Library provides an object-oriented API set that all application models will use. It includes type definitions that allow developers to perform file and network I/O, scheduling tasks on other threads, drawing shapes, comparing strings, and so on. Of course,all of these type definitions follow the programming model set forth by the CLR
  • 23. .NET Framework in context
  • 24. Common Language Runtime (CLR) • 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 • Provides core services such as memory management, thread management, and remoting, while also enforcing strict type safety
  • 25. CLR • Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code • The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features
  • 26. CLR • 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 ASP.NET applications and XML Web services • Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension).
  • 27. Consistent method failure paradigm • Exceptions work across module and programming language boundaries. And, unlike status codes and HRESULTs, exceptions can't be ignored. The CLR also provides built- in stack-walking facilities, making it much easier to locate any bugs and failures
  • 28. Automatic memory management (garbage collection) • One of the most common bugs is neglecting to free one of these resources, ultimately causing the application to perform improperly at some unpredictable time. The CLR automatically tracks resource usage, guaranteeing that your application will never leak resources
  • 29. Programming language integration • The CLR makes it possible to create a class in C++ that derives from a class implemented in Visual Basic • The CLR allows this because it defines and provides a Common Type System (CTS) that all programming languages that target the CLR must use. The Common Language Specification (CLS) describes what compiler implementers must do in order for their languages to integrate well with other languages
  • 30. Wide platform reach • You can deploy your .NET Framework application on any machine that has an ECMA- compliant version of the CLR and FCL running on it