SlideShare a Scribd company logo
1 of 46
.NET Framework Overview
.NET Framework, CLR, MSIL, Assemblies, CTS, etc.
Table of Contents
1. What is .NET?
ī‚­ Microsoft .NET platform architecture
2. What is .NET Framework?
ī‚­ .NET Framework Architecture
3. Common Language Runtime (CLR)
4. Managed Code
5. Intermediate Language MSIL
6. Assemblies and Metadata
7. .NET Applications
Table of Contents (2)
8. Common Language Infrastructure (CLI) and
integration of different languages
ī‚­ Common Language Specification (CLS)
ī‚­ CommonType System (CTS)
9. Framework Class Library
10. Integrated Development EnvironmentVisual
Studio
.NET Framework
Microsoft's Platform for
Application Development
What is the .NET Platform?
ī‚Ž The .NET platform
ī‚­ Microsoft's platform for software development
ī‚­ Unified technology for development of almost
any kind of applications
ī‚­ GUI / Web / RIA (rich internet application ) /
mobile / server / cloud / etc.
ī‚Ž .NET platform versions
ī‚­ .NET Framework
ī‚­ Silverlight / Windows Phone 7
ī‚­ .NET Compact Framework
What is .NET Framework?
ī‚Ž .NET Framework
ī‚­ An environment for developing and executing
.NET applications
ī‚­ Unified programming model, set of languages,
class libraries, infrastructure, components and
tools for application development
ī‚­ Environment for controlled execution of
managed code
ī‚Ž It is commonly assumed that
ī‚­ .NET platform == .NET Framework
.NET Framework Components
ī‚Ž Common Language Runtime (CLR)
ī‚­ Environment for controlled execution of
programmed code – like a virtual machine
ī‚­ Executes .NET applications
ī‚Ž Framework Class Library (FCL)
ī‚­ Standard class library for .NET development
ī‚­ Delivers basic functionality for developing: XML,
ADO.NET, LINQ, ASP.NET, WPF,WCF,WWF,
Silverlight, Web services, Windows Forms, ...
ī‚Ž SDK, compilers and tools
.NET Framework Architecture
ī‚­ The OS manages the resources, the
processes and the users of the machine
ī‚­ Provides to the applications some
services (threads, I/O, GDI+, DirectX,
COM, COM+, MSMQ, IIS,WMI, â€Ļ)
ī‚­ CLR is a separate process in the OS
Operating System (OS)
Operating System (OS)
Common Language Runtime (CLR)
ī‚­ CLR manages the execution of
the.NET code
ī‚­ Manages the memory,
concurrency, security, ...
.NET Framework Architecture (2)
CLR
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
.NET Framework Architecture (3)
ī‚­ Rich object-oriented library with
fundamental classes
ī‚­ Input-output, collections, text
processing, networking, security,
multi-threading, â€Ļ
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
ADO.NET, LINQ and XML (DataTier)
.NET Framework Architecture (4)
ī‚­ Database access
ī‚­ ADO.NET, LINQ, LINQ-to-SQL and
Entity Framework
ī‚­ Strong XML support
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
ADO.NET, LINQ and XML (DataTier)
.NET Framework Architecture (5)
WCF and WWF (Communication and WorkflowTier)
ī‚­ Windows Communication
Foundation (WCF) and Windows
Workflow Foundation (WWF) for
the SOA world
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
ADO.NET, LINQ and XML (DataTier)
.NET Framework Architecture (6)
WCF and WWF (Communication and WorkflowTier)
ASP.NET
Web Forms, MVC, AJAX
Mobile InternetToolkit
Windows
Forms
WPF Silverlight
ī‚­ User interface technologies: Web based,
Windows GUI, WPF, Silverlight, mobile, â€Ļ
Operating System (OS)
Common Language Runtime (CLR)
Base Class Library (BCL)
ADO.NET, LINQ and XML (DataTier)
.NET Framework Architecture (7)
WCF and WWF (Communication and WorkflowTier)
ASP.NET
Web Forms, MVC, AJAX
Mobile InternetToolkit
Windows
Forms
WPF Silverlight
C# C++ VB.NET J# F# JScript Perl Delphi â€Ļ
ī‚­ Programming language on your flavor!
Common Language
Runtime (CLR)
The Heart of .NET Framework
Common Language Runtime (CLR)
ī‚Ž Managed execution environment
ī‚­ Controls the execution of managed .NET
programming code
ī‚Ž Something like virtual machine
ī‚­ Like the JavaVirtual Machine (JVM)
ī‚Ž Not an interpreter
ī‚­ Compilation on-demand is used
ī‚­ Known as Just InTime (JIT) compilation
ī‚Ž Possible compilation in advance (Ngen)
Responsibilities of CLR
ī‚Ž Execution of the IL code and the JIT
compilation
ī‚Ž Managing memory and application resources
ī‚Ž Ensuring type safety
ī‚Ž Interaction with the OS
ī‚Ž Managing security
ī‚­ Code access security
ī‚­ Role-based security
Responsibilities of CLR (2)
ī‚Ž Managing exceptions
ī‚Ž Managing concurrency – controlling the
parallel execution of application threads
ī‚Ž Managing application domains and their
isolation
ī‚Ž Interaction with unmanaged code
ī‚Ž Supporting debug /
profile of .NET code
CLR Architecture
Class Loader
IL to Native
JIT Compiler
Code
Manager
Garbage
Collector
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
Managed and
Unmanaged Code
What is the Difference?
Managed Code
ī‚Ž CLR executed code is called managed code
ī‚Ž Represents programming code in the low level
language MSIL (MS Intermediate Language)
ī‚Ž Contains metadata
ī‚­ Description of classes, interfaces, properties,
fields, methods, parameters, etc.
ī‚Ž Programs, written in any .NET language are
ī‚­ Compiled to managed code (MSIL)
ī‚­ Packaged as assemblies (.exe or .dll files)
Managed Code (2)
ī‚Ž Object-oriented
ī‚Ž Secure
ī‚Ž Reliable
ī‚­ Protected from irregular use of types (type-safe)
ī‚Ž Allows integration between components and
data types of different programming
languages
ī‚Ž Portable between different platforms
ī‚­ Windows, Linux, Max OS X, etc.
Unmanaged (Win32) Code
ī‚Ž No protection of memory and type-safety
ī‚­ Reliability problems
ī‚­ Safety problems
ī‚Ž Doesn’t contain metadata
ī‚­ Needs additional overhead like (e.g. use COM)
ī‚Ž Compiled to machine-dependent code
ī‚­ Need of different versions for different
platforms
ī‚­ Hard to be ported to other platforms
Memory Management
ī‚Ž CLR manages memory automatically
ī‚­ Dynamically loaded objects are stored in the
managed heap
ī‚­ Unusable objects are automatically cleaned up
by the garbage collector
ī‚Ž Some of the big problems are solved
ī‚­ Memory leaks
ī‚­ Access to freed or unallocated memory
ī‚Ž Objects are accessed through a reference
Intermediate
Language (MSIL)
Intermediate Language
(MSIL, IL, CIL)
ī‚Ž Low level language (machine language) for the
.NET CLR
ī‚Ž Has independent set of CPU instructions
ī‚­ Loading and storing data, calling methods
ī‚­ Arithmetic and logical operations
ī‚­ Exception handling
ī‚­ Etc.
ī‚Ž MSIL is converted to instructions for the
current physical CPU by the JIT compiler
Sample MSIL Program
.method private hidebysig static void Main() cil managed
{
.entrypoint
// Code size 11 (0xb)
.maxstack 8
ldstr "Hello, world!"
call void
[mscorlib]System.Console::WriteLine(string)
ret
} // end of method HelloWorld::Main
Compilation and Execution
Compilation
Execution
JIT
compiler
Machine
code
MSIL
Code
Metadata
Source
code
Language
compiler
Assembly
(.EXE or
.DLL file)
When given
method is called
for the first time
Pre-compilation
during the install
(NGEN)
.NET Applications
Assemblies, Metadata and Applications
.NET Assemblies
ī‚Ž .NET assemblies:
ī‚­ Self-containing .NET components
ī‚­ Stored in .DLL and .EXE files
ī‚­ Contain list of classes, types and resources
ī‚­ Smallest deployment unit in CLR
ī‚­ Have unique version number
ī‚Ž .NET deployment model
ī‚­ No version conflicts (forget the "DLL hell")
ī‚­ Supports side-by-side execution of different
versions of the same assembly
Metadata in the Assemblies
ī‚Ž Metadata in the .NET assemblies
ī‚­ Data about data contained in the assembly
ī‚­ Integral part of the assembly
ī‚­ Generated by the .NET languages compiler
ī‚­ Describes all classes, their class members,
versions, resources, etc.
Metadata in Assemblies
Type Description
Assembly Description
Classes, interfaces, inner types, base
classes, implemented interfaces,
member fields, properties, methods,
method parameters, return value,
attributes, etc.
Dependencies on other assemblies
Security permissions
Exported types
[digital
signature]
Name
Version
Localization
.NET Applications
ī‚Ž Configurable executable .NET units
ī‚Ž Consist of one or more assemblies
ī‚Ž Installed by "copy / paste"
ī‚­ No complex registration of components
ī‚Ž Different applications use different versions of
common assemblies
ī‚­ No conflicts due to their "strong name"
ī‚Ž Easy installation, un-installation and update
CommonType System (CTS)
ī‚Ž CTS defines the CLR supported types of data
and the operations over them
ī‚Ž Ensures data level compatibility between
different .NET languages
ī‚­ E.g. string in C# is the same like String in
VB.NET and in J#
ī‚Ž Value types and reference types
ī‚Ž All types derive from System.Object
The .NET Languages
C#,VB.NET, C++, J#, etc.
.NET Languages
ī‚Ž .NET languages by Microsoft
ī‚­ C#,VB.NET, Managed C++, J#, F#, JScript
ī‚Ž .NET languages by third parties
ī‚­ Object Pascal, Perl, Python, COBOL, Haskell,
Oberon, Scheme, Smalltalkâ€Ļ
ī‚Ž Different languages can be mixed in a single
application
ī‚Ž Cross-language inheritance of types and
exception handling
C# Language
ī‚Ž C# is mixture between C++, Java and Delphi
ī‚­ Fully object-oriented by design
ī‚Ž Component-oriented programming model
ī‚­ Components, properties and events
ī‚­ No header files like C/C++
ī‚­ Suitable for GUI andWeb applications
ī‚­ XML based documentation
ī‚Ž In C# all data types are objects
ī‚­ Example: 5.ToString() is a valid call
C# Language – Example
ī‚Ž C# is standardized by ISO
ī‚Ž Example of C# program:
using System;
class NumbersFrom1to100
{
static void Main()
{
for (int i=1; i<=100; i++)
{
Console.WriteLine(i);
}
}
}
Framework Class
Library (FCL)
Standard Out-of-the-box .NET APIs
Framework Class Library (FCL)
ī‚Ž Framework Class Library is the standard
.NET Framework library of out-of-the-box
reusable classes and components (APIs)
Base Class Library (BCL)
ADO.NET, LINQ and XML (DataTier)
WCF and WWF (Communication and WorkflowTier)
ASP.NET
Web Forms, MVC, AJAX
Mobile InternetToolkit
Windows
Forms
WPF Silverlight
FCL Namespaces
ADO.NET, LINQ and XML (DataTier)
WCF and WWF (Communication and WorkflowTier)
ASP.NET
Web Forms, MVC, AJAX
Mobile InternetToolkit
Windows
Forms
WPF & Silverlight
System.Web
System.Web.Mvc
System.Windows
.Forms
System.Drawing
System.Windows
System.Windows.Media
System.Windows.Markup
System.ServiceModel System.Activities System.Workflow
System.Data System.Linq
System.Data.Linq
System.Xml
System.Xml.Linq System.Data.Entity
Visual Studio IDE
Powerful Development Environment for .NET
Visual Studio
ī‚Ž Visual Studio is powerful Integrated
Development Environment (IDE) for .NET
Developers
ī‚­ Create, edit, compile and run .NET applications
ī‚­ Different languages – C#, C++,VB.NET, J#, â€Ļ
ī‚­ Flexible code editor
ī‚­ Powerful debugger
ī‚­ Integrated with SQL Server and IIS
ī‚­ Strong support of Web services, WCF and WWF
Visual Studio (2)
ī‚Ž Visual programming
ī‚­ Component-oriented, event based
ī‚Ž Managed and unmanaged code
ī‚Ž Helpful wizards and editors
ī‚­ Windows Forms Designer
ī‚­ WCF / Silverlight Designer
ī‚­ ASP.NET Web Forms Designer
ī‚­ ADO.NET / LINQ-to-SQL / XML Data Designer
ī‚Ž Many third party extensions
Visual Studio IDE
.NET Framework Overview
Questions?

More Related Content

What's hot

1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NETsnandagopalan2
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .netpinky singh
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .netFelisha Hosein
 
.net CLR
.net CLR.net CLR
.net CLRDevTalk
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technologyPramod Rathore
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsQUONTRASOLUTIONS
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework IntroductionAbhishek Sahu
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version Historyvoltaincx
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET ProgrammingKarthikeyan Mkr
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - IntroductionRandy Connolly
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net FundamentalsLiquidHub
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewCarlos Lopes
 
Namespaces in C#
Namespaces in C#Namespaces in C#
Namespaces in C#yogita kachve
 

What's hot (20)

1.Philosophy of .NET
1.Philosophy of .NET1.Philosophy of .NET
1.Philosophy of .NET
 
.Net framework
.Net framework.Net framework
.Net framework
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
 
.net CLR
.net CLR.net CLR
.net CLR
 
6.origins genesis of .net technology
6.origins genesis of .net technology6.origins genesis of .net technology
6.origins genesis of .net technology
 
DOT Net overview
DOT Net overviewDOT Net overview
DOT Net overview
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
.Net Framework Introduction
.Net Framework Introduction.Net Framework Introduction
.Net Framework Introduction
 
.net framework
.net framework.net framework
.net framework
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET Programming
 
ASP.NET 01 - Introduction
ASP.NET 01 - IntroductionASP.NET 01 - Introduction
ASP.NET 01 - Introduction
 
Dot Net Fundamentals
Dot Net FundamentalsDot Net Fundamentals
Dot Net Fundamentals
 
The .NET Platform - A Brief Overview
The .NET Platform - A Brief OverviewThe .NET Platform - A Brief Overview
The .NET Platform - A Brief Overview
 
Namespaces in C#
Namespaces in C#Namespaces in C#
Namespaces in C#
 

Similar to .Net Framework

Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarPriyankaPinglikar
 
Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .netRahul Bhoge
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptxRaajzKoirala
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.NetVishwa Mohan
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapseindiappsdevelopment
 
.Net slid
.Net slid.Net slid
.Net slidpacatarpit
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jnguest58c84c
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jnjahanullah
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understandingBinu Bhasuran
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net frameworkFaisal Aziz
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseindiappsdevelopment
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Netvidyamittal
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsQuontra Solutions
 

Similar to .Net Framework (20)

Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .net
 
Chapter1_Part1.pptx
Chapter1_Part1.pptxChapter1_Part1.pptx
Chapter1_Part1.pptx
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Presentation1
Presentation1Presentation1
Presentation1
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2
 
.Net slid
.Net slid.Net slid
.Net slid
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
Intro.net
Intro.netIntro.net
Intro.net
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understanding
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net framework
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
 
Concepts of Asp.Net
Concepts of Asp.NetConcepts of Asp.Net
Concepts of Asp.Net
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
Vb
VbVb
Vb
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>āŧ’+91-9711147426⇛Call In girls karol bagh (Delhi)
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

.Net Framework

  • 1. .NET Framework Overview .NET Framework, CLR, MSIL, Assemblies, CTS, etc.
  • 2. Table of Contents 1. What is .NET? ī‚­ Microsoft .NET platform architecture 2. What is .NET Framework? ī‚­ .NET Framework Architecture 3. Common Language Runtime (CLR) 4. Managed Code 5. Intermediate Language MSIL 6. Assemblies and Metadata 7. .NET Applications
  • 3. Table of Contents (2) 8. Common Language Infrastructure (CLI) and integration of different languages ī‚­ Common Language Specification (CLS) ī‚­ CommonType System (CTS) 9. Framework Class Library 10. Integrated Development EnvironmentVisual Studio
  • 4. .NET Framework Microsoft's Platform for Application Development
  • 5. What is the .NET Platform? ī‚Ž The .NET platform ī‚­ Microsoft's platform for software development ī‚­ Unified technology for development of almost any kind of applications ī‚­ GUI / Web / RIA (rich internet application ) / mobile / server / cloud / etc. ī‚Ž .NET platform versions ī‚­ .NET Framework ī‚­ Silverlight / Windows Phone 7 ī‚­ .NET Compact Framework
  • 6. What is .NET Framework? ī‚Ž .NET Framework ī‚­ An environment for developing and executing .NET applications ī‚­ Unified programming model, set of languages, class libraries, infrastructure, components and tools for application development ī‚­ Environment for controlled execution of managed code ī‚Ž It is commonly assumed that ī‚­ .NET platform == .NET Framework
  • 7. .NET Framework Components ī‚Ž Common Language Runtime (CLR) ī‚­ Environment for controlled execution of programmed code – like a virtual machine ī‚­ Executes .NET applications ī‚Ž Framework Class Library (FCL) ī‚­ Standard class library for .NET development ī‚­ Delivers basic functionality for developing: XML, ADO.NET, LINQ, ASP.NET, WPF,WCF,WWF, Silverlight, Web services, Windows Forms, ... ī‚Ž SDK, compilers and tools
  • 8. .NET Framework Architecture ī‚­ The OS manages the resources, the processes and the users of the machine ī‚­ Provides to the applications some services (threads, I/O, GDI+, DirectX, COM, COM+, MSMQ, IIS,WMI, â€Ļ) ī‚­ CLR is a separate process in the OS Operating System (OS)
  • 9. Operating System (OS) Common Language Runtime (CLR) ī‚­ CLR manages the execution of the.NET code ī‚­ Manages the memory, concurrency, security, ... .NET Framework Architecture (2) CLR
  • 10. Operating System (OS) Common Language Runtime (CLR) Base Class Library (BCL) .NET Framework Architecture (3) ī‚­ Rich object-oriented library with fundamental classes ī‚­ Input-output, collections, text processing, networking, security, multi-threading, â€Ļ
  • 11. Operating System (OS) Common Language Runtime (CLR) Base Class Library (BCL) ADO.NET, LINQ and XML (DataTier) .NET Framework Architecture (4) ī‚­ Database access ī‚­ ADO.NET, LINQ, LINQ-to-SQL and Entity Framework ī‚­ Strong XML support
  • 12. Operating System (OS) Common Language Runtime (CLR) Base Class Library (BCL) ADO.NET, LINQ and XML (DataTier) .NET Framework Architecture (5) WCF and WWF (Communication and WorkflowTier) ī‚­ Windows Communication Foundation (WCF) and Windows Workflow Foundation (WWF) for the SOA world
  • 13. Operating System (OS) Common Language Runtime (CLR) Base Class Library (BCL) ADO.NET, LINQ and XML (DataTier) .NET Framework Architecture (6) WCF and WWF (Communication and WorkflowTier) ASP.NET Web Forms, MVC, AJAX Mobile InternetToolkit Windows Forms WPF Silverlight ī‚­ User interface technologies: Web based, Windows GUI, WPF, Silverlight, mobile, â€Ļ
  • 14. Operating System (OS) Common Language Runtime (CLR) Base Class Library (BCL) ADO.NET, LINQ and XML (DataTier) .NET Framework Architecture (7) WCF and WWF (Communication and WorkflowTier) ASP.NET Web Forms, MVC, AJAX Mobile InternetToolkit Windows Forms WPF Silverlight C# C++ VB.NET J# F# JScript Perl Delphi â€Ļ ī‚­ Programming language on your flavor!
  • 15. Common Language Runtime (CLR) The Heart of .NET Framework
  • 16. Common Language Runtime (CLR) ī‚Ž Managed execution environment ī‚­ Controls the execution of managed .NET programming code ī‚Ž Something like virtual machine ī‚­ Like the JavaVirtual Machine (JVM) ī‚Ž Not an interpreter ī‚­ Compilation on-demand is used ī‚­ Known as Just InTime (JIT) compilation ī‚Ž Possible compilation in advance (Ngen)
  • 17. Responsibilities of CLR ī‚Ž Execution of the IL code and the JIT compilation ī‚Ž Managing memory and application resources ī‚Ž Ensuring type safety ī‚Ž Interaction with the OS ī‚Ž Managing security ī‚­ Code access security ī‚­ Role-based security
  • 18. Responsibilities of CLR (2) ī‚Ž Managing exceptions ī‚Ž Managing concurrency – controlling the parallel execution of application threads ī‚Ž Managing application domains and their isolation ī‚Ž Interaction with unmanaged code ī‚Ž Supporting debug / profile of .NET code
  • 19. CLR Architecture Class Loader IL to Native JIT Compiler Code Manager Garbage Collector Security Engine Debug Engine Type Checker Exception Manager Thread Support COM Marshaler Base Class Library Support
  • 20. Managed and Unmanaged Code What is the Difference?
  • 21. Managed Code ī‚Ž CLR executed code is called managed code ī‚Ž Represents programming code in the low level language MSIL (MS Intermediate Language) ī‚Ž Contains metadata ī‚­ Description of classes, interfaces, properties, fields, methods, parameters, etc. ī‚Ž Programs, written in any .NET language are ī‚­ Compiled to managed code (MSIL) ī‚­ Packaged as assemblies (.exe or .dll files)
  • 22. Managed Code (2) ī‚Ž Object-oriented ī‚Ž Secure ī‚Ž Reliable ī‚­ Protected from irregular use of types (type-safe) ī‚Ž Allows integration between components and data types of different programming languages ī‚Ž Portable between different platforms ī‚­ Windows, Linux, Max OS X, etc.
  • 23. Unmanaged (Win32) Code ī‚Ž No protection of memory and type-safety ī‚­ Reliability problems ī‚­ Safety problems ī‚Ž Doesn’t contain metadata ī‚­ Needs additional overhead like (e.g. use COM) ī‚Ž Compiled to machine-dependent code ī‚­ Need of different versions for different platforms ī‚­ Hard to be ported to other platforms
  • 24. Memory Management ī‚Ž CLR manages memory automatically ī‚­ Dynamically loaded objects are stored in the managed heap ī‚­ Unusable objects are automatically cleaned up by the garbage collector ī‚Ž Some of the big problems are solved ī‚­ Memory leaks ī‚­ Access to freed or unallocated memory ī‚Ž Objects are accessed through a reference
  • 26. Intermediate Language (MSIL, IL, CIL) ī‚Ž Low level language (machine language) for the .NET CLR ī‚Ž Has independent set of CPU instructions ī‚­ Loading and storing data, calling methods ī‚­ Arithmetic and logical operations ī‚­ Exception handling ī‚­ Etc. ī‚Ž MSIL is converted to instructions for the current physical CPU by the JIT compiler
  • 27. Sample MSIL Program .method private hidebysig static void Main() cil managed { .entrypoint // Code size 11 (0xb) .maxstack 8 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } // end of method HelloWorld::Main
  • 28. Compilation and Execution Compilation Execution JIT compiler Machine code MSIL Code Metadata Source code Language compiler Assembly (.EXE or .DLL file) When given method is called for the first time Pre-compilation during the install (NGEN)
  • 30. .NET Assemblies ī‚Ž .NET assemblies: ī‚­ Self-containing .NET components ī‚­ Stored in .DLL and .EXE files ī‚­ Contain list of classes, types and resources ī‚­ Smallest deployment unit in CLR ī‚­ Have unique version number ī‚Ž .NET deployment model ī‚­ No version conflicts (forget the "DLL hell") ī‚­ Supports side-by-side execution of different versions of the same assembly
  • 31. Metadata in the Assemblies ī‚Ž Metadata in the .NET assemblies ī‚­ Data about data contained in the assembly ī‚­ Integral part of the assembly ī‚­ Generated by the .NET languages compiler ī‚­ Describes all classes, their class members, versions, resources, etc.
  • 32. Metadata in Assemblies Type Description Assembly Description Classes, interfaces, inner types, base classes, implemented interfaces, member fields, properties, methods, method parameters, return value, attributes, etc. Dependencies on other assemblies Security permissions Exported types [digital signature] Name Version Localization
  • 33. .NET Applications ī‚Ž Configurable executable .NET units ī‚Ž Consist of one or more assemblies ī‚Ž Installed by "copy / paste" ī‚­ No complex registration of components ī‚Ž Different applications use different versions of common assemblies ī‚­ No conflicts due to their "strong name" ī‚Ž Easy installation, un-installation and update
  • 34. CommonType System (CTS) ī‚Ž CTS defines the CLR supported types of data and the operations over them ī‚Ž Ensures data level compatibility between different .NET languages ī‚­ E.g. string in C# is the same like String in VB.NET and in J# ī‚Ž Value types and reference types ī‚Ž All types derive from System.Object
  • 36. .NET Languages ī‚Ž .NET languages by Microsoft ī‚­ C#,VB.NET, Managed C++, J#, F#, JScript ī‚Ž .NET languages by third parties ī‚­ Object Pascal, Perl, Python, COBOL, Haskell, Oberon, Scheme, Smalltalkâ€Ļ ī‚Ž Different languages can be mixed in a single application ī‚Ž Cross-language inheritance of types and exception handling
  • 37. C# Language ī‚Ž C# is mixture between C++, Java and Delphi ī‚­ Fully object-oriented by design ī‚Ž Component-oriented programming model ī‚­ Components, properties and events ī‚­ No header files like C/C++ ī‚­ Suitable for GUI andWeb applications ī‚­ XML based documentation ī‚Ž In C# all data types are objects ī‚­ Example: 5.ToString() is a valid call
  • 38. C# Language – Example ī‚Ž C# is standardized by ISO ī‚Ž Example of C# program: using System; class NumbersFrom1to100 { static void Main() { for (int i=1; i<=100; i++) { Console.WriteLine(i); } } }
  • 39. Framework Class Library (FCL) Standard Out-of-the-box .NET APIs
  • 40. Framework Class Library (FCL) ī‚Ž Framework Class Library is the standard .NET Framework library of out-of-the-box reusable classes and components (APIs) Base Class Library (BCL) ADO.NET, LINQ and XML (DataTier) WCF and WWF (Communication and WorkflowTier) ASP.NET Web Forms, MVC, AJAX Mobile InternetToolkit Windows Forms WPF Silverlight
  • 41. FCL Namespaces ADO.NET, LINQ and XML (DataTier) WCF and WWF (Communication and WorkflowTier) ASP.NET Web Forms, MVC, AJAX Mobile InternetToolkit Windows Forms WPF & Silverlight System.Web System.Web.Mvc System.Windows .Forms System.Drawing System.Windows System.Windows.Media System.Windows.Markup System.ServiceModel System.Activities System.Workflow System.Data System.Linq System.Data.Linq System.Xml System.Xml.Linq System.Data.Entity
  • 42. Visual Studio IDE Powerful Development Environment for .NET
  • 43. Visual Studio ī‚Ž Visual Studio is powerful Integrated Development Environment (IDE) for .NET Developers ī‚­ Create, edit, compile and run .NET applications ī‚­ Different languages – C#, C++,VB.NET, J#, â€Ļ ī‚­ Flexible code editor ī‚­ Powerful debugger ī‚­ Integrated with SQL Server and IIS ī‚­ Strong support of Web services, WCF and WWF
  • 44. Visual Studio (2) ī‚Ž Visual programming ī‚­ Component-oriented, event based ī‚Ž Managed and unmanaged code ī‚Ž Helpful wizards and editors ī‚­ Windows Forms Designer ī‚­ WCF / Silverlight Designer ī‚­ ASP.NET Web Forms Designer ī‚­ ADO.NET / LINQ-to-SQL / XML Data Designer ī‚Ž Many third party extensions

Editor's Notes

  1. 07/16/96
  2. 07/16/96
  3. 07/16/96
  4. 07/16/96
  5. 07/16/96
  6. 07/16/96
  7. 07/16/96
  8. 07/16/96
  9. 07/16/96
  10. 07/16/96
  11. 07/16/96
  12. 07/16/96
  13. 07/16/96
  14. 07/16/96
  15. 07/16/96
  16. 07/16/96
  17. 07/16/96
  18. 07/16/96
  19. 07/16/96
  20. 07/16/96
  21. 07/16/96
  22. 07/16/96
  23. 07/16/96
  24. 07/16/96
  25. 07/16/96
  26. 07/16/96
  27. 07/16/96
  28. 07/16/96
  29. 07/16/96
  30. 07/16/96
  31. 07/16/96
  32. 07/16/96
  33. 07/16/96
  34. 07/16/96
  35. 07/16/96
  36. 07/16/96
  37. 07/16/96
  38. 07/16/96
  39. 07/16/96
  40. 07/16/96
  41. 07/16/96