SlideShare a Scribd company logo
Microsoft .NET
(Introduction to .Net Framework)
Rohit Rao
Agenda
• .Net Framework
• Why .Net?
• Framework Architecture
• Code execution process
• IL, CLR, CLS, CTS
• JIT compiler
• Manage-Unmanaged Code
• Garbage Collection
.Net Framework
• Building blocks of any .Net application
– Windows form
– Web Application
– Web Service
– Console application
• Collection of assemblies to support
development & execution of .Net apps.
• Network of all technologies / Next Gen Tech
Why .Net?
• Automatic Memory Management
• Interoperable
• Choice of programming Languages
– C#, VB, VC++, Python etc.
– Producing same compiled code
• Language integration is seamless
– Easily call or integrate multiple languages code
.Net Framework Architecture
Visual Studio
Asp.Net
(Web/MVC/SPA)
Windows Form
(Desktop App)
ADO.NET
ADO.NET
EF
LINQ Signal R
WPF Web Services SilverLight Windows Store App
Base Class Lib.
ADO.NET
EF
Languages (C#,
Vb, Python etc.)
Dynamic Language
Runtime
MEF
Portable Class
Library
CLR
(Common Language Runtime)
Code Execution Process
C#
Code
VB.Net
Code
Other
CSC.exe VBC.exe Respective
Compiler
IL Code /
MSIL metadata
Execution Engine
Common Language Runtime (CLR)
Just In Time (Reads IL Code)
Machine Specific Instructions
IL (Intermediate Language)
• Partially / Half Compiled Code
• CPU Independent Code
• Why we need it?
– We do not know the environment on which
application will run
• Machine Configuration (Windows 7 /8 / 10 / etc.)
• Security Configuration
• Use ILDASM tool to view IL code
CLR (Common Language Runtime)
• Heart of .NET Framework
• It does following things :
– Garbage Collection
– CAS ( Code Access Security)
– CV (Code Verification)
– IL to native translation (Code)
CTS (Common Type System)
• Smooth Communication between .NET
languages (C#, VB.Net, VC++ etc)
• It ensures that data types of languages will get
compiled to a common Data Type.
C#
int
VB.Net
integer
System.Int32
CLS (Common Language Specification)
• Subset of CTS
• Set of rules which need to be followed by each
.NET language
Just in Time Compiler (JIT)
• It Converts IL code to native / machine specific
instructions
• IT compiles code in following way
– Per File (Whole file)
– Per Method (only modified / changed methods )
– Code Fragment (only modified code)
• Types of JIT
– Normal JIT : Dynamic Compilation with cache
– Econo JIT : Dynamic Compilation without cache
– Pre-JIT : Full Compilation using Ngen.exe (Manually)
Manage-Unmanaged Code
• Managed Code :
– Exe / Web App in created in .Net
• These runs under the control of CLR
• CLR use GC to clean unused objects
• CLS for interoperability
• CAS , CV
• Un-Managed :
– Third party libraries : Excel / Skype / GotoMeeting
– CLR does not have control
– Their respective runtime will be used to control
them (C/C++/VB6 etc)
Garbage Collection
• Why we need it?
– Clean unused managed objects to reclaim
memory
• GC Generation:
– 0
– 1
– 2
Gen 0 Gen 1 Gen 2
Gen 0 Gen 1 Gen 2
Gen 0 Gen 1 Gen 2
Gen 0 Gen 1 Gen 2
GC contd..
App 1 creates 7 objects
GC Runs & Claims Memory
GC Runs & Claims Memory
GC Runs & Claims Memory
Data Types
C# Data Types
Value Types Reference Types
Simple Enum Struct Nullable
Class String Object
Sbyte,
byte,
Decimal
Short,
Ushort,
Int,
Uint,
Long,
ULong
Char
Float,
Double,
Decimal
Bool
Class
Types
Interface Arrays Delegate
Integral
Character
s
Floating /
Decimal
Boolean

More Related Content

What's hot

Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
umesh patil
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platforms
Abhijit B.
 
.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
sharmamohan13989
 
.Net framework
.Net framework.Net framework
.Net framework
sanya6900
 
Introduction of .net framework
Introduction of .net frameworkIntroduction of .net framework
Introduction of .net framework
Prognoz Technologies Pvt. Ltd.
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
Antonio Chagoury
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
SubashiniRathinavel
 
.Net overview
.Net overview.Net overview
.Net overview
teach4uin
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
pinky singh
 
.net CLR
.net CLR.net CLR
.net CLR
DevTalk
 
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 Framework overview
Net Framework overviewNet Framework overview
Net Framework overview
MohitKumar1985
 
.Net language support
.Net language support.Net language support
.Net language support
Then Murugeshwari
 
dot net technology
dot net technologydot net technology
dot net technology
Imran Khan
 
Net overview
Net overviewNet overview
.Net overview
.Net overview.Net overview
.Net overview
.Net overview.Net overview
.Net overviewmadydud
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
Mohamed Saleh
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
vc7722
 

What's hot (20)

Architecture of net framework
Architecture of net frameworkArchitecture of net framework
Architecture of net framework
 
Overview of microsoft dot net platforms
Overview of microsoft dot net platformsOverview of microsoft dot net platforms
Overview of microsoft dot net platforms
 
.Net overview by cetpa
.Net overview by cetpa.Net overview by cetpa
.Net overview by cetpa
 
.Net framework
.Net framework.Net framework
.Net framework
 
Introduction of .net framework
Introduction of .net frameworkIntroduction of .net framework
Introduction of .net framework
 
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
A Sneak Peek At Visual Studio 2010 And .Net Framework 4.0
 
Presentation1.pptx
Presentation1.pptxPresentation1.pptx
Presentation1.pptx
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net overview|Introduction Of .net
.Net overview|Introduction Of .net.Net overview|Introduction Of .net
.Net overview|Introduction Of .net
 
.net CLR
.net CLR.net CLR
.net CLR
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
 
Net Framework overview
Net Framework overviewNet Framework overview
Net Framework overview
 
.Net language support
.Net language support.Net language support
.Net language support
 
dot net technology
dot net technologydot net technology
dot net technology
 
Net overview
Net overviewNet overview
Net overview
 
Net overview
Net overviewNet overview
Net overview
 
.Net overview
.Net overview.Net overview
.Net overview
 
.Net overview
.Net overview.Net overview
.Net overview
 
Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)Module 1: Introduction to .NET Framework 3.5 (Slides)
Module 1: Introduction to .NET Framework 3.5 (Slides)
 
Evolution of .net frame work
Evolution of .net frame workEvolution of .net frame work
Evolution of .net frame work
 

Similar to Microsoft .Net Framework

NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
charusharma165
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
VivekRaj101435
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnishRajnish Kalla
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
GaytriMate
 
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Lorenz Lo Sauer
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overviewFaisal Aziz
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
Quontra Solutions
 
Dot net
Dot netDot net
Dot net
Mahfuz1061
 
introasp_net-7364068.ppt
introasp_net-7364068.pptintroasp_net-7364068.ppt
introasp_net-7364068.pptIQM123
 
introasp_net-6563550.ppt
introasp_net-6563550.pptintroasp_net-6563550.ppt
introasp_net-6563550.pptIQM123
 
C# and dot net framework
C# and dot net frameworkC# and dot net framework
introaspnet-5856912.ppt
introaspnet-5856912.pptintroaspnet-5856912.ppt
introaspnet-5856912.pptIQM123
 
introaspnet-3030384.ppt
introaspnet-3030384.pptintroaspnet-3030384.ppt
introaspnet-3030384.pptIQM123
 
election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...
dnnindia
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1Sisir Ghosh
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net frameworkAshish Verma
 
.Net
.Net.Net
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
FAREED UR RAHMAN .
 

Similar to Microsoft .Net Framework (20)

NETOverview1ppt.pptx
NETOverview1ppt.pptxNETOverview1ppt.pptx
NETOverview1ppt.pptx
 
NETOverview1.ppt
NETOverview1.pptNETOverview1.ppt
NETOverview1.ppt
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
.Net overviewrajnish
.Net overviewrajnish.Net overviewrajnish
.Net overviewrajnish
 
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptxLearn the java basic programming with example and syntaxchapter1-part-b.pptx
Learn the java basic programming with example and syntaxchapter1-part-b.pptx
 
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
Microsoft .NET (dotnet) Framework 2003 - 2004 overview and web services…
 
Modified.net overview
Modified.net overviewModified.net overview
Modified.net overview
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutions
 
.Net framework
.Net framework.Net framework
.Net framework
 
Dot net
Dot netDot net
Dot net
 
introasp_net-7364068.ppt
introasp_net-7364068.pptintroasp_net-7364068.ppt
introasp_net-7364068.ppt
 
introasp_net-6563550.ppt
introasp_net-6563550.pptintroasp_net-6563550.ppt
introasp_net-6563550.ppt
 
C# and dot net framework
C# and dot net frameworkC# and dot net framework
C# and dot net framework
 
introaspnet-5856912.ppt
introaspnet-5856912.pptintroaspnet-5856912.ppt
introaspnet-5856912.ppt
 
introaspnet-3030384.ppt
introaspnet-3030384.pptintroaspnet-3030384.ppt
introaspnet-3030384.ppt
 
election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...election survey comapny in delhi|election survey company|election survey comp...
election survey comapny in delhi|election survey company|election survey comp...
 
ASP.NET Session 1
ASP.NET Session 1ASP.NET Session 1
ASP.NET Session 1
 
Microsoft dot net framework
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
 
.Net
.Net.Net
.Net
 
VB IMPORTANT QUESTION
VB IMPORTANT QUESTIONVB IMPORTANT QUESTION
VB IMPORTANT QUESTION
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Microsoft .Net Framework

  • 1. Microsoft .NET (Introduction to .Net Framework) Rohit Rao
  • 2. Agenda • .Net Framework • Why .Net? • Framework Architecture • Code execution process • IL, CLR, CLS, CTS • JIT compiler • Manage-Unmanaged Code • Garbage Collection
  • 3. .Net Framework • Building blocks of any .Net application – Windows form – Web Application – Web Service – Console application • Collection of assemblies to support development & execution of .Net apps. • Network of all technologies / Next Gen Tech
  • 4. Why .Net? • Automatic Memory Management • Interoperable • Choice of programming Languages – C#, VB, VC++, Python etc. – Producing same compiled code • Language integration is seamless – Easily call or integrate multiple languages code
  • 5. .Net Framework Architecture Visual Studio Asp.Net (Web/MVC/SPA) Windows Form (Desktop App) ADO.NET ADO.NET EF LINQ Signal R WPF Web Services SilverLight Windows Store App Base Class Lib. ADO.NET EF Languages (C#, Vb, Python etc.) Dynamic Language Runtime MEF Portable Class Library CLR (Common Language Runtime)
  • 6. Code Execution Process C# Code VB.Net Code Other CSC.exe VBC.exe Respective Compiler IL Code / MSIL metadata Execution Engine Common Language Runtime (CLR) Just In Time (Reads IL Code) Machine Specific Instructions
  • 7. IL (Intermediate Language) • Partially / Half Compiled Code • CPU Independent Code • Why we need it? – We do not know the environment on which application will run • Machine Configuration (Windows 7 /8 / 10 / etc.) • Security Configuration • Use ILDASM tool to view IL code
  • 8. CLR (Common Language Runtime) • Heart of .NET Framework • It does following things : – Garbage Collection – CAS ( Code Access Security) – CV (Code Verification) – IL to native translation (Code)
  • 9. CTS (Common Type System) • Smooth Communication between .NET languages (C#, VB.Net, VC++ etc) • It ensures that data types of languages will get compiled to a common Data Type. C# int VB.Net integer System.Int32
  • 10. CLS (Common Language Specification) • Subset of CTS • Set of rules which need to be followed by each .NET language
  • 11. Just in Time Compiler (JIT) • It Converts IL code to native / machine specific instructions • IT compiles code in following way – Per File (Whole file) – Per Method (only modified / changed methods ) – Code Fragment (only modified code) • Types of JIT – Normal JIT : Dynamic Compilation with cache – Econo JIT : Dynamic Compilation without cache – Pre-JIT : Full Compilation using Ngen.exe (Manually)
  • 12. Manage-Unmanaged Code • Managed Code : – Exe / Web App in created in .Net • These runs under the control of CLR • CLR use GC to clean unused objects • CLS for interoperability • CAS , CV • Un-Managed : – Third party libraries : Excel / Skype / GotoMeeting – CLR does not have control – Their respective runtime will be used to control them (C/C++/VB6 etc)
  • 13. Garbage Collection • Why we need it? – Clean unused managed objects to reclaim memory • GC Generation: – 0 – 1 – 2
  • 14. Gen 0 Gen 1 Gen 2 Gen 0 Gen 1 Gen 2 Gen 0 Gen 1 Gen 2 Gen 0 Gen 1 Gen 2 GC contd.. App 1 creates 7 objects GC Runs & Claims Memory GC Runs & Claims Memory GC Runs & Claims Memory
  • 15. Data Types C# Data Types Value Types Reference Types Simple Enum Struct Nullable Class String Object Sbyte, byte, Decimal Short, Ushort, Int, Uint, Long, ULong Char Float, Double, Decimal Bool Class Types Interface Arrays Delegate Integral Character s Floating / Decimal Boolean