SlideShare una empresa de Scribd logo
1 de 29
The Global Open University
Nagaland
ASP.NET
Special Tips & Tricks
Agenda
 Part I - Fundamentals
Programming Models
Design Goals and Architecture
CLR Services– Visual Studio 2005
Unify Programming Models
Windows APIWindows API
.NET Framework.NET Framework
Consistent API availability regardless ofConsistent API availability regardless of
language and programming modellanguage and programming model
ASPASP
Stateless,Stateless,
Code embeddedCode embedded
in HTML pagesin HTML pages
MFC/ATLMFC/ATL
Subclassing,Subclassing,
Power,Power,
ExpressivenessExpressiveness
VB FormsVB Forms
RAD,RAD,
Composition,Composition,
DelegationDelegation
Make It Simple To Use
 Organization
Code organized in hierarchical namespaces and
classes
 Unified type system
Everything is an object, no variants, one string type,
all character data is Unicode
 Component Oriented
Properties, methods, events, and attributes are first
class constructs
Design-time functionality
How Much Simpler?
HWND hwndMain = CreateWindowEx(HWND hwndMain = CreateWindowEx(
0, "MainWClass", "Main Window",0, "MainWClass", "Main Window",
WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,
CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,
(HWND)NULL, (HMENU)NULL, hInstance, NULL);(HWND)NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hwndMain, SW_SHOWDEFAULT);ShowWindow(hwndMain, SW_SHOWDEFAULT);
UpdateWindow(hwndMain);UpdateWindow(hwndMain);
Form form = new Form();Form form = new Form();
form.Text = "Main Window";form.Text = "Main Window";
form.Show();form.Show();
Windows APIWindows API
.NET Framework.NET Framework
Hello World Demo
 What you need
Agenda
 Part I - Fundamentals
Programming ModelsProgramming Models
Design Goals and Architecture
CLR ServicesCLR Services
Common Language Runtime
Design Goals
 Dramatically simplifies development and
deployment
 Unifies programming models
 Provides robust and secure execution
environment
 Supports multiple programming languages
Architectural Overview
ComCom FrameworkFramework
Class loader and layoutClass loader and layout
GC, stack walk, code managerGC, stack walk, code manager
ILtoILto
nativecodenativecode
compilerscompilers
SecuritySecurity
ExecutionExecution
SupportSupport
Base ClassesBase Classes
AssemblyAssembly
Compilation And Execution
SourceSource
CodeCode
LanguageLanguage
CompilerCompiler
CompilationCompilation
At installation or theAt installation or the
first time eachfirst time each
method is calledmethod is calledExecutionExecution
JITJIT
CompilerCompiler
NativeNative
CodeCode
Code (IL)Code (IL)
MetadataMetadata
Languages
 The CLR is Language Neutral
 All languages are first class players
 You can leverage your existing skills
 Common Language Specification
 Set of features guaranteed to be in all languages
 We are providing
 VB, C++, C#, J#, JScript
 Third-parties are building
 APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon,
Perl, Python, Scheme, Smalltalk…
Hello World Demo
 What you needWhat you need
 MSIL
Agenda
 Part I - Fundamentals
Programming ModelsProgramming Models
Design Goals and ArchitectureDesign Goals and Architecture
CLR Services
Component-Based Programming
 3 core technologies make building and
using components easy
Type safety
Automatic memory management
Metadata
 This greatly simplifies application
development
Type Safety
 Type safety ensures that objects are used the
way they were intended to be used
Prevents an object’s state from being corrupted
 The CLR enforces type safety
Attempting to coerce an object to an incompatible type
causes the CLR to throw an exception
 Type safety means code confidence
Common programmer errors will be found immediately
Rectangle(hwnd, 0, 0, 10, 10);
//hwnd should be an hdc
MessageBox(hwnd, “”, “”, IDOK);
//IDOK should be MB_OK
Automatic Memory Management
 The CLR tracks the code’s use of objects and ensures
 Objects are not freed while still in use (no memory corruption)
 Objects are freed when no longer in use (no memory leaks)
 Code is easier to write because there is no question as to
which component is responsible to free an object
 When passed a buffer, who frees it: caller or callee?
 Each process has 1 heap used by all components
 Objects can’t be allocated from different heaps
 You don’t have to know which heap memory was allocated in or
which API to call to free the memory
○ In fact, there is no API to free memory, the GC does it
Metadata
 Set of data tables embedded in an EXE/DLL
 The tables describe what is defined in the file (Type, fields, methods, etc.)
 Every component’s interface is described by metadata tables
 A component’s implementation is described by Intermediate Language
 The existence of metadata tables enables many features
 No header files
 Visual Studio’s IntelliSense
 Components don’t have to be registered in the registry
 Components don’t need separate IDL or TLB files
 The GC knows when an object’s fields refer to other objects
 An object’s fields can be automatically serialized/deserialized
 At runtime, an application can determine what types are in a file and what
members the type defines (also known as late binding)
 Components can be written/used by different languages
Metadata: Creation And Use
MetadataMetadata
(and code)(and code)
DebuggerDebugger
SchemaSchema
GeneratorGenerator
ProfilerProfiler
CompilersCompilers
Proxy GeneratorProxy Generator
Type BrowserType Browser
CompilerCompiler
SourceSource
CodeCode
XML encodingXML encoding
(SDL or SUDS)(SDL or SUDS)
SerializationSerialization
DesignersDesigners
ReflectionReflection
TLB ExporterTLB Exporter
Runtime Execution Model
ClassClass
LoaderLoader
CPUCPU
ManagedManaged
Native CodeNative Code
AssemblyAssembly
First callFirst call
to methodto method
First referenceFirst reference
toto typetype
AssemblyAssembly
ResolverResolver
First referenceFirst reference
to Assemblyto Assembly
IL to nativeIL to native
conversionconversion
JIT Compiler - Inline
Standardization
 A subset of the .NET Framework and C#
submitted to ECMA
ECMA and ISO International Standards
Co-sponsored with Intel, Hewlett-Packard
 Common Language Infrastructure
Based on Common Language Runtime and Base
Framework
Layered into increasing levels of functionality
Rotor (SSCLI)
 Shared-Source version of the
CLR+BCL+C# compiler
 Ports available: Windows, FreeBSD,
OSX, etc
 Real product code offers real world
learning
 http://sscli.org
Developer Roadmap
• ““Orcas” releaseOrcas” release
•Windows “Longhorn”Windows “Longhorn”
integrationintegration
•New UI tools andNew UI tools and
designersdesigners
•Extensive managedExtensive managed
interfacesinterfaces
Visual Studio OrcasVisual Studio Orcas
“Longhorn”“Longhorn”
Visual StudioVisual Studio
.NET 2003.NET 2003
• ““Everett Release”Everett Release”
•Windows Server 2003Windows Server 2003
integrationintegration
•Support for .NET CompactSupport for .NET Compact
Framework and deviceFramework and device
developmentdevelopment
•Improved performanceImproved performance
Visual Studio 2005Visual Studio 2005
“Yukon”“Yukon”
• ““Whidbey” releaseWhidbey” release
•SQL Server integrationSQL Server integration
•Improved IDE productivityImproved IDE productivity
and community supportand community support
•Extended support forExtended support for
XML Web servicesXML Web services
•Office programmabilityOffice programmability
Agenda
 Part I - FundamentalsPart I - Fundamentals
Design GoalsDesign Goals
ArchitectureArchitecture
CLR ServicesCLR Services
Agenda
 Part I - FundamentalsPart I - Fundamentals
Design GoalsDesign Goals
ArchitectureArchitecture
CLR ServicesCLR Services
PerformanceObjectives: make .NET an even greater programming
platform
 Long-Term: make the performance characteristics of the
CLR similar to native code
 Reduce marginal cost of additional managed processes
 Reduce startup time and working set
NGen
 Compiles IL code to native code, saving results to disk
 Advantages: no need to recompile IL to native code, and
class layout already set so better startup time
 Whidbey: Significant reductions in the amount of private,
non-shareable working set
 OS: ‘no-Jit’ plan, all managed code will be NGened
TryParseTryParse
CLR Security
 New cryptography support
PKI and PKCS7 support
XML encryption support
Enhanced support for X509 certificates
 Enhanced Application Security
Permission Calculator
○ Integration with ClickOnce
Better SecurityException
Debug-In-Zone
 Managed ACL Support
This material has been taken from Online
Certificate course on ASP.NET from Global
Open University Online certification
programme. For complete course material
visit: http://tgouwp.eduhttp://tgouwp.edu
About Global Open University :
The global open university is now offering certification
courses in various fields. Even you can study, give exam
from comfort of your home. These are short term and totally
online courses. For more details you can visit:
Email id: info@tgouwp.edu
THANKS for being here

Más contenido relacionado

La actualidad más candente

Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETPeter Gfader
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web applicationRahul Bansal
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netPankaj Kushwaha
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationabhishek singh
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Quek Lilian
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics PresentationSudhakar Sharma
 
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NETInventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NETHimanshu Patel
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTDr. Awase Khirni Syed
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.netSanket Jagare
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netSHADAB ALI
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecturephantrithuc
 
Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Rishi Kothari
 

La actualidad más candente (20)

Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
ASP.NET Basics
ASP.NET Basics ASP.NET Basics
ASP.NET Basics
 
Developing an aspnet web application
Developing an aspnet web applicationDeveloping an aspnet web application
Developing an aspnet web application
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
Asp net
Asp netAsp net
Asp net
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentation
 
Asp Architecture
Asp ArchitectureAsp Architecture
Asp Architecture
 
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
Creating Dynamic Web Application Using ASP.Net 3 5_MVP Alezandra Buencamino N...
 
Asp .net folders and web.config
Asp .net folders and web.configAsp .net folders and web.config
Asp .net folders and web.config
 
Dotnet Basics Presentation
Dotnet Basics PresentationDotnet Basics Presentation
Dotnet Basics Presentation
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NETInventory management project based on ASP.NET, introduction to C# and ASP.NET
Inventory management project based on ASP.NET, introduction to C# and ASP.NET
 
C# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENTC# ASP.NET WEB API APPLICATION DEVELOPMENT
C# ASP.NET WEB API APPLICATION DEVELOPMENT
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
ASP.NET Lecture 1
ASP.NET Lecture 1ASP.NET Lecture 1
ASP.NET Lecture 1
 
Asp.net
Asp.netAsp.net
Asp.net
 
Aspnet architecture
Aspnet architectureAspnet architecture
Aspnet architecture
 
Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003Microsoft� .NET and Microsoft� Office 2003
Microsoft� .NET and Microsoft� Office 2003
 

Destacado

ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsIdo Flatow
 
Data controls ppt
Data controls pptData controls ppt
Data controls pptIblesoft
 
data controls in asp.net
data controls in asp.netdata controls in asp.net
data controls in asp.netsubakrish
 
The ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersThe ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersKevin Hazzard
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web APIhabib_786
 
Server Controls of ASP.Net
Server Controls of ASP.NetServer Controls of ASP.Net
Server Controls of ASP.NetHitesh Santani
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signaturejolly9293
 
Ajax control asp.net
Ajax control asp.netAjax control asp.net
Ajax control asp.netSireesh K
 
State Management in ASP.NET
State Management in ASP.NETState Management in ASP.NET
State Management in ASP.NETShyam Sir
 
Validation controls in asp
Validation controls in aspValidation controls in asp
Validation controls in aspShishir Jain
 
Introduction To Asp.Net Ajax
Introduction To Asp.Net AjaxIntroduction To Asp.Net Ajax
Introduction To Asp.Net AjaxJeff Blankenburg
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NETOm Vikram Thapa
 
Presentation on asp.net controls
Presentation on asp.net controlsPresentation on asp.net controls
Presentation on asp.net controlsReshi Unen
 

Destacado (20)

ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
Data controls ppt
Data controls pptData controls ppt
Data controls ppt
 
data controls in asp.net
data controls in asp.netdata controls in asp.net
data controls in asp.net
 
The ASP.NET Web API for Beginners
The ASP.NET Web API for BeginnersThe ASP.NET Web API for Beginners
The ASP.NET Web API for Beginners
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Nnnnnn
NnnnnnNnnnnn
Nnnnnn
 
Ch 7 data binding
Ch 7 data bindingCh 7 data binding
Ch 7 data binding
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
Server Controls of ASP.Net
Server Controls of ASP.NetServer Controls of ASP.Net
Server Controls of ASP.Net
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signature
 
Ajax control asp.net
Ajax control asp.netAjax control asp.net
Ajax control asp.net
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Ajax and ASP.NET AJAX
Ajax and ASP.NET AJAXAjax and ASP.NET AJAX
Ajax and ASP.NET AJAX
 
Standard control in asp.net
Standard control in asp.netStandard control in asp.net
Standard control in asp.net
 
State Management in ASP.NET
State Management in ASP.NETState Management in ASP.NET
State Management in ASP.NET
 
Validation controls in asp
Validation controls in aspValidation controls in asp
Validation controls in asp
 
Introduction To Asp.Net Ajax
Introduction To Asp.Net AjaxIntroduction To Asp.Net Ajax
Introduction To Asp.Net Ajax
 
State management in ASP.NET
State management in ASP.NETState management in ASP.NET
State management in ASP.NET
 
Presentation on asp.net controls
Presentation on asp.net controlsPresentation on asp.net controls
Presentation on asp.net controls
 
Asp.Net Control Architecture
Asp.Net Control ArchitectureAsp.Net Control Architecture
Asp.Net Control Architecture
 

Similar a Concepts of Asp.Net

Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreEsha Yadav
 
1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#Tuan Ngo
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
.Net Framework
.Net Framework.Net Framework
.Net FrameworkMohamadKrm
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarPriyankaPinglikar
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsQUONTRASOLUTIONS
 
Presentation1
Presentation1Presentation1
Presentation1kpkcsc
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseindiappsdevelopment
 
Session2(Mod)
Session2(Mod)Session2(Mod)
Session2(Mod)mccmepco
 
Introduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsIntroduction to .net FrameWork by QuontraSolutions
Introduction to .net FrameWork by QuontraSolutionsQuontra Solutions
 
Net framework
Net frameworkNet framework
Net frameworkjhsri
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp EnGregory Renard
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net frameworkArun Prasad
 

Similar a Concepts of Asp.Net (20)

Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
 
1 get started with c#
1   get started with c#1   get started with c#
1 get started with c#
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
Introduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutionsIntroduction to .NET by QuontraSolutions
Introduction to .NET by QuontraSolutions
 
Presentation1
Presentation1Presentation1
Presentation1
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
 
.Net slid
.Net slid.Net slid
.Net slid
 
Session2(Mod)
Session2(Mod)Session2(Mod)
Session2(Mod)
 
Visual studio.net
Visual studio.netVisual studio.net
Visual studio.net
 
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 frameworkNet framework
Net framework
 
Introdot Netc Sharp En
Introdot Netc Sharp EnIntrodot Netc Sharp En
Introdot Netc Sharp En
 
Asp.net new
Asp.net newAsp.net new
Asp.net new
 
Introduction to .net framework
Introduction to .net frameworkIntroduction to .net framework
Introduction to .net framework
 
.Net overview
.Net overview.Net overview
.Net overview
 

Último

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 

Último (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Concepts of Asp.Net

  • 1. The Global Open University Nagaland ASP.NET Special Tips & Tricks
  • 2. Agenda  Part I - Fundamentals Programming Models Design Goals and Architecture CLR Services– Visual Studio 2005
  • 3. Unify Programming Models Windows APIWindows API .NET Framework.NET Framework Consistent API availability regardless ofConsistent API availability regardless of language and programming modellanguage and programming model ASPASP Stateless,Stateless, Code embeddedCode embedded in HTML pagesin HTML pages MFC/ATLMFC/ATL Subclassing,Subclassing, Power,Power, ExpressivenessExpressiveness VB FormsVB Forms RAD,RAD, Composition,Composition, DelegationDelegation
  • 4. Make It Simple To Use  Organization Code organized in hierarchical namespaces and classes  Unified type system Everything is an object, no variants, one string type, all character data is Unicode  Component Oriented Properties, methods, events, and attributes are first class constructs Design-time functionality
  • 5. How Much Simpler? HWND hwndMain = CreateWindowEx(HWND hwndMain = CreateWindowEx( 0, "MainWClass", "Main Window",0, "MainWClass", "Main Window", WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL,WS_OVERLAPPEDWINDOW | WS_HSCROLL | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, hInstance, NULL);(HWND)NULL, (HMENU)NULL, hInstance, NULL); ShowWindow(hwndMain, SW_SHOWDEFAULT);ShowWindow(hwndMain, SW_SHOWDEFAULT); UpdateWindow(hwndMain);UpdateWindow(hwndMain); Form form = new Form();Form form = new Form(); form.Text = "Main Window";form.Text = "Main Window"; form.Show();form.Show(); Windows APIWindows API .NET Framework.NET Framework
  • 6. Hello World Demo  What you need
  • 7. Agenda  Part I - Fundamentals Programming ModelsProgramming Models Design Goals and Architecture CLR ServicesCLR Services
  • 8. Common Language Runtime Design Goals  Dramatically simplifies development and deployment  Unifies programming models  Provides robust and secure execution environment  Supports multiple programming languages
  • 9. Architectural Overview ComCom FrameworkFramework Class loader and layoutClass loader and layout GC, stack walk, code managerGC, stack walk, code manager ILtoILto nativecodenativecode compilerscompilers SecuritySecurity ExecutionExecution SupportSupport Base ClassesBase Classes
  • 10. AssemblyAssembly Compilation And Execution SourceSource CodeCode LanguageLanguage CompilerCompiler CompilationCompilation At installation or theAt installation or the first time eachfirst time each method is calledmethod is calledExecutionExecution JITJIT CompilerCompiler NativeNative CodeCode Code (IL)Code (IL) MetadataMetadata
  • 11. Languages  The CLR is Language Neutral  All languages are first class players  You can leverage your existing skills  Common Language Specification  Set of features guaranteed to be in all languages  We are providing  VB, C++, C#, J#, JScript  Third-parties are building  APL, COBOL, Pascal, Eiffel, Haskell, ML, Oberon, Perl, Python, Scheme, Smalltalk…
  • 12. Hello World Demo  What you needWhat you need  MSIL
  • 13. Agenda  Part I - Fundamentals Programming ModelsProgramming Models Design Goals and ArchitectureDesign Goals and Architecture CLR Services
  • 14. Component-Based Programming  3 core technologies make building and using components easy Type safety Automatic memory management Metadata  This greatly simplifies application development
  • 15. Type Safety  Type safety ensures that objects are used the way they were intended to be used Prevents an object’s state from being corrupted  The CLR enforces type safety Attempting to coerce an object to an incompatible type causes the CLR to throw an exception  Type safety means code confidence Common programmer errors will be found immediately Rectangle(hwnd, 0, 0, 10, 10); //hwnd should be an hdc MessageBox(hwnd, “”, “”, IDOK); //IDOK should be MB_OK
  • 16. Automatic Memory Management  The CLR tracks the code’s use of objects and ensures  Objects are not freed while still in use (no memory corruption)  Objects are freed when no longer in use (no memory leaks)  Code is easier to write because there is no question as to which component is responsible to free an object  When passed a buffer, who frees it: caller or callee?  Each process has 1 heap used by all components  Objects can’t be allocated from different heaps  You don’t have to know which heap memory was allocated in or which API to call to free the memory ○ In fact, there is no API to free memory, the GC does it
  • 17. Metadata  Set of data tables embedded in an EXE/DLL  The tables describe what is defined in the file (Type, fields, methods, etc.)  Every component’s interface is described by metadata tables  A component’s implementation is described by Intermediate Language  The existence of metadata tables enables many features  No header files  Visual Studio’s IntelliSense  Components don’t have to be registered in the registry  Components don’t need separate IDL or TLB files  The GC knows when an object’s fields refer to other objects  An object’s fields can be automatically serialized/deserialized  At runtime, an application can determine what types are in a file and what members the type defines (also known as late binding)  Components can be written/used by different languages
  • 18. Metadata: Creation And Use MetadataMetadata (and code)(and code) DebuggerDebugger SchemaSchema GeneratorGenerator ProfilerProfiler CompilersCompilers Proxy GeneratorProxy Generator Type BrowserType Browser CompilerCompiler SourceSource CodeCode XML encodingXML encoding (SDL or SUDS)(SDL or SUDS) SerializationSerialization DesignersDesigners ReflectionReflection TLB ExporterTLB Exporter
  • 19. Runtime Execution Model ClassClass LoaderLoader CPUCPU ManagedManaged Native CodeNative Code AssemblyAssembly First callFirst call to methodto method First referenceFirst reference toto typetype AssemblyAssembly ResolverResolver First referenceFirst reference to Assemblyto Assembly IL to nativeIL to native conversionconversion
  • 20. JIT Compiler - Inline
  • 21. Standardization  A subset of the .NET Framework and C# submitted to ECMA ECMA and ISO International Standards Co-sponsored with Intel, Hewlett-Packard  Common Language Infrastructure Based on Common Language Runtime and Base Framework Layered into increasing levels of functionality
  • 22. Rotor (SSCLI)  Shared-Source version of the CLR+BCL+C# compiler  Ports available: Windows, FreeBSD, OSX, etc  Real product code offers real world learning  http://sscli.org
  • 23. Developer Roadmap • ““Orcas” releaseOrcas” release •Windows “Longhorn”Windows “Longhorn” integrationintegration •New UI tools andNew UI tools and designersdesigners •Extensive managedExtensive managed interfacesinterfaces Visual Studio OrcasVisual Studio Orcas “Longhorn”“Longhorn” Visual StudioVisual Studio .NET 2003.NET 2003 • ““Everett Release”Everett Release” •Windows Server 2003Windows Server 2003 integrationintegration •Support for .NET CompactSupport for .NET Compact Framework and deviceFramework and device developmentdevelopment •Improved performanceImproved performance Visual Studio 2005Visual Studio 2005 “Yukon”“Yukon” • ““Whidbey” releaseWhidbey” release •SQL Server integrationSQL Server integration •Improved IDE productivityImproved IDE productivity and community supportand community support •Extended support forExtended support for XML Web servicesXML Web services •Office programmabilityOffice programmability
  • 24. Agenda  Part I - FundamentalsPart I - Fundamentals Design GoalsDesign Goals ArchitectureArchitecture CLR ServicesCLR Services
  • 25. Agenda  Part I - FundamentalsPart I - Fundamentals Design GoalsDesign Goals ArchitectureArchitecture CLR ServicesCLR Services
  • 26. PerformanceObjectives: make .NET an even greater programming platform  Long-Term: make the performance characteristics of the CLR similar to native code  Reduce marginal cost of additional managed processes  Reduce startup time and working set NGen  Compiles IL code to native code, saving results to disk  Advantages: no need to recompile IL to native code, and class layout already set so better startup time  Whidbey: Significant reductions in the amount of private, non-shareable working set  OS: ‘no-Jit’ plan, all managed code will be NGened
  • 28. CLR Security  New cryptography support PKI and PKCS7 support XML encryption support Enhanced support for X509 certificates  Enhanced Application Security Permission Calculator ○ Integration with ClickOnce Better SecurityException Debug-In-Zone  Managed ACL Support
  • 29. This material has been taken from Online Certificate course on ASP.NET from Global Open University Online certification programme. For complete course material visit: http://tgouwp.eduhttp://tgouwp.edu About Global Open University : The global open university is now offering certification courses in various fields. Even you can study, give exam from comfort of your home. These are short term and totally online courses. For more details you can visit: Email id: info@tgouwp.edu THANKS for being here

Notas del editor

  1. I’ve said earlier that the .nf unifies various programming models. Let me first go back a bit in history and describe some of the disparate programming models that have been very popular and that people use today. In the good old days of early Windows, you had the windows api. To write apps you fired up your C compiler, #included windows.h, created a winproc, handled your windows messages – basically the old Petzold style of windows programming. While this worked it was neither particularly productive, nor was it particularly very easy. Over time, various programming models on top of the windows api have emerged. VB: RAD…instantiate a form, drag components onto the form, write event handlers, and through delegation your code executes. MFC/ATL took a different view. The key concept here is sub classing. You subclass from an existing monolithic, object oriented framework. While this gives you more power and expressiveness, it doesn’t really match the ease or productivity of VB’s composition model. ASP: with the web, we’ve seen the emergence of the ASP model, where you write stateless code that’s embedded in html pages. If you look at this picture, one of the problems is that your choice of programming model also necessarily becomes your choice of programming language. This in unfortunate. If you’re a skilled MFC dev and you need to write some code in an ASP page – your skills don’t translate. Likewise, if you know a lot about VB, there’s not much that transfers to MFC. There also not a consistent availability of api. Each of these models has dreamt up there own solutions to a number of problems that are actually core and common to all of the models. For example, how do I deal with File I/O, how do I do string formatting, how do I do security, threading, etc. What the .nf does is unify all of these models. It gives you a consistent API that is available everywhere regardless of what language you use or what programming model you are targeting.
  2. Hierarchical namespaces make it much easier for you to discover where code is. Contrast this with Windows api – it’s al flat and can be very difficult to find a particular piece of functionality. A hierarchical namespace within the system makes this much easier for you to explore and discover functionality. .NF has a unified type system. Everything is an object. This means the death of variant. Variants are now objects. There is one string type throughout the entire framework. All character data is unicode. The .nf is component oriented. This not only affects how you write code for runtime, but also makes it much easier for tools to provide a rich design time experience.
  3. Let’s look at what the design goals for the .NET Framework are: Simplified development – make developers lives easier and more productive. allow devs to focus on better algorithms and on solving business problems. not implementation details of idiosyncrasies OO features, consistent api throughout using common design patterns, hierarchical namespaces Simplify Deployment – simply lower TCO to a reasonable level self describing apps, no registry, fix DLL Hell Unified programming models – VB, VC (MFC), Vid (ASP) all have diverging models. These development models needed to come together to in order to deliver on simplicity and productivity, especially amongst teams of developers Robust and Secure – We designed the platform to do everything it can to make your applications more robust and secure. Automatic memory management, Type safety guarantees, and structured exception handling all contribute to your applications being more robust and secure. Mulit-language platform – All programming languages are first class on the .NET Framework. They have the same access to the underlying platforms. None of the languages are in a penalty box. If you have been a closet Cobol (or any other language) user for years, now is the time to come out! Your language is first class on this platform.
  4. The diagram above illustrates the process used to compile and execute managed code, that is, code that uses the CLR. Source code written in C#, VB.NET, or some other language that targets the CLR is first transformed into MSIL by the appropriate language compiler. Before execution, this MSIL is JIT compiled into native code for whatever processor the code will run on. The default is to JIT compile each method when it is first called, but it’s also possible to “pre-JIT” the MSIL. With this option, all methods are compiled before the application is loaded, so the overhead of JIT compilation on each initial method call is avoided. One point worth noting is that all languages targeting the CLR should exhibit roughly the same performance. While some compilers may produce better MSIL code than others, large variations in execution speed are unlikely.
  5. Let me again point out that the .Net platform is truly language neutral. All .net languages are first class. All have complete access to the entire platform. It’s simply not the case that one language has more or different capabilities than another. So when you move to the .net platform you can completely leverage all of you existing skills. In order to ensure this, we’ve defined what we call the common language specification. We’ve done this in conjunction with a number of partners. This is a spec of functionality that you can expect to find in any language that has been implemented on top of the .net platform. Because the CLS must be the union of all capabilities of all languages targeting .net, there are certainly some features of individual language that are not part of the CLS definition. For example pointers are not a part of the CLS because they couldn’t be directly consumed by all other .net languages. But this doesn’t mean that C++ doesn’t have pointers – of course C++ has pointers. It just means that you can use pointers internally in a C++ app, or you could even expose pointers in a C++ component you’ve written, but then that component may not be useable by all other .net languages – jscript, for example. We are providing five .Net languages. Third parties are providing a wealth of others. Again, this goes to show the truly multi-lingual nature and design that was implemented with .NET from the bottom up.
  6. Microsoft is committed to open standards work with the .NET Framework. We have submitted parts of the .NET Frameworks and the C# Programming language to ECMA for Standardization. ECMA is a large industry standards body with a history of producing great standards. Over this last year I severed as member of the technical committees that prepared these specifications for adoptions as a standard. And I am happy to report that all the technical work is on the first version of the standard is complete. The ECMA general assembly will vote in December to approve this work as an industry standard. This work would not have been possible without the broad industry support we had from our co-sponsors HP and Intel and well as contributions from IBM, Fujitsu, and many others. The Common Language Infrastructure i
  7. SUMMARY Rework the performance characteristics of the CLR, to make code which has performance characteristics that are far more akin to native code Our main investment is to reduce the marginal cost of yet another managed process, because by LH, there will be TONS of them. It’s a long-term goal, with important benefits Reduce startup time and working set: it is currently around 50% better than Everett NGen becomes an incredibly important consideration for systems programming using .NET. It is a large part of our performance focus. Note: When you are running NGened code, we used to have to pull data out of both the NGened image, and the il image. We no longer have to do this, we only load pages from the NGened image. This simply helps with the ‘cleanliness’ of the way this occurs. Its also essential for achieving the reduction of working set. Note: NGen is a technology you use to improve the performance of shared code, and startup time. If you’re not sharing, and you’re not starting up all the time, NGen loses some of its value Note: we’re also simplifying the use of NGen. It used to be that if you had a graph of assemblies, you had to NGen bottom up. That is, you had to NGen assembly a, then b, and finally c, which referenced b, which referenced a. Now, we walk the graph for you, we do the right things for you to help you out. All of the managed code in the OS will NOT be jitted: They are on the ‘no jit’ plan. It wall all be native code that has been NGened ahead of time. We are working heavily on NGen. When we started this exercise, if you had a native NGen image, we would ‘dirty’ some of those pages. For every 100K of the image in your working set, 40% was unshareable. Now, we are at 15-20%. We have therefore reduced significantly the amount of managed memory. Perf is not across the board better: Reason: There are swaggers of new bits and new functionality, which offset perf improvements Example: reliability is a major theme/goal (for Yukon), and reliable code is not necessarily the most efficient code. To take code that used to fail in unknown/crappy ways, and instead, make it either not fail, or fail in well-defined ways, comes with a cost NGEN: What is it? Compiles IL to native code Figures out class layout Saves results permanently on-disk Advantages? IL already compiled to native => no need to do it again! Class layout already done => so faster startup No need to load JIT => saves memory (can reduce WorkingSet by several tens of %)
  8. PKI/CS7 support This is a signing, and encryption algorithm, which we didn’t support previously, but we do now Anyone who wants to do signing and encryption may want to use this. Note: Authenticode uses this standard (just to give an idea of where it comes up) It’s a binary format, its very fast We probably want to mention XML encryption. It’s a standard for encrypting data. It’s a w3c standard Its in the same namespace as xml digital signatures (System.Security.Cryptography.Xml) Its an implementation of the w3c standard for xml encryption Note we did support xml signing previously, this new stuff is supporting encryption Its basically a syntax for exchanging encrypted data. Its like a schema (+ process rules) for exchanging encr. Data, The data you encrypt can be anything. The package you send, is xml X509 certificates In 1.1 we had x509 certificate class. In V2.0 we have added X509CertificateEx, which: Covers far more of the unmanaged functionality available Look at spec for pointers The new Ex class is integrated with the XML cryptography classes (XML classes take X509 certificates directly) New Tool: Permission Calculator Calculates the permissions required at compile time for a given app (integrated into VS) From this, you can figure out, if your targeting a specific zone (such as internet zone) what permissions your app needs, which aren’t supported in that zone AWESOME! <Beware: at this stage, there are some whacky things you can do to trick the tool. But it is 95% accurate for a standard app> Example: It will tell you if you need ‘FileIOPermission’ . It won’t tell you what kind of permission, or to what file (it will try, but at that point, it becomes a little less specific) In other words: it does as much as it can Continuing in that scenario, this integrates well into ClickOnce (ClickOnce = Web style deployment of client applications) When you compile a ClickOnce app, a manifest is generated, describing what permissions the application needs. If someone tries to access that ClickOnce application, we figure out what permissions the app would have, and determine if this is a difference (based on the manifest). If so, the user is prompted to determine if the app is acceptable to run, based on that difference Enhanced the SecurityException We noticed that some people were not adopting the CAS model as readily as we expected, and it become clear, that the lack of information available on the SecurityException wasn’t helping. Basically, people couldn’t figure out what was wrong when a SecurityException occurred, and therefore, they simply elevated trust or permissions to avoid the exception. This of course, is the wrong approach. The point is to give developers more information about the nature of the exception, so they can debug more easily. Example improvements include: We now include what kind of exception it was: was it a link demand, for example Full assembly information, so developers can figure out what assembly was the cause of the exception PermissionState not populated consistently in V1/V1.1. We’ve fixed that Integrated with VS, so the UI experience is better when you get a SecurityException Debug-In-Zone The ability to run and debug your application in a specific security context, so that you can debug, and get the ACTUAL user experience, so you know precisely how your app will behave, compared to the way you deploy it