SlideShare une entreprise Scribd logo
1  sur  22
Visual Studio 2010
and
.NET Framework 4
Training Workshop
What’s New In
.NET Framework 4
Name
Title
Organization
Email
A Look Back…
.NET 1.0 .NET 1.1 .NET 2.0
3.0
3.5
.NET 4
2002 2003 2008 CTP!2005-08
CLR 1.0 CLR 1.1 CLR 2.0 CLR 4
SP1
What Is The .NET Framework?
Base Class Libraries
The CLR
JIT &
NGEN
Garbage
Collector
Security
Model
Exception
Handling
Loader &
Binder
WPF
Win
Forms
DLR ASP.NET WCF
And
more!
LINQ
Base Class Library Improvements
Numerics
BigInteger, Complex
Data Structures
Tuple
SortedSet<T>, ISet<T>
I/O
Memory-Mapped File
Unified Cancellation Model
The goal of CLR 4
Working Better Together…
Faster…
With Fewer Bugs…
In-Proc SxS
Native/Managed InteropDLR Integration
Managed Extensibility Framework
Threading Parallel Extensions
Garbage Collection Profiling
Code Contracts DebuggingCorrupted State Exceptions
The goal of CLR 4
Working Better Together…
Faster…
With Fewer Bugs…
In-Proc SxS
DLR Integration
Parallel Extensions
Garbage Collection Profiling
Code Contracts DebuggingCorrupted State Exceptions
Managed Extensibility Framework
Threading
Native/Managed Interop
Design By Contract
Code Contracts introduce a way to
specify contractual information
that is not represented by a
method or type’s signature alone.
What is a Contract?
A contract is…
an exchange of promises between
two or more parties to do, or
refrain from doing, an act which is
enforceable in a court of law.
- Wikipedia
Why Contracts?
There upset about that? But its the
best gift in the hole world.
They’re upset about that? But it’s the
best gift in the whole world.
Why Contracts?
Just because something compiles,
doesn’t mean it works…
A Contract contains…
Pre-conditions - must be true before
public Rational(int numerator, int denominator)
{
Contract.Requires(denominator > 0);
…
}
Post-conditions -must be true after
public string GetPassword()
{
Contract.Ensures(Contract.Result<string>() != null);
…
return password;
}
A Contract contains…
Invariants - must always be true
[ContractInvariantMethod]
protected void ObjectInvariant()
{
Contract.Invariant(denominator > 0);
}
Code Contracts
Type Equivalence
Interop Assemblies translate between
managed code and COM
For each interface, struct, enum,
delegate, and member, contains a
managed equivalent with marshalling data
Primary Interop Assemblies
cause many pain points…
However!
Go Away, PIA!
1. Compilers embed the portions of the
interop assemblies that the add-ins
actually use
2. Runtime ensures the embedded
definitions of these types are
considered equivalent
No-PIA
Existing Side-By-Side (SxS)
.NET 2.0
2.0
add-in
3.0
3.5
Host Process (i.e. Outlook)
3.0
add-in
3.5
add-in
1.1
add-in
.NET 1.1
In-Process Side-By-Side (SxS)
.NET 2.0
.NET 4.0
2.0
add-in
3.0
3.5
Host Process (i.e. Outlook)
3.0
add-in
3.5
add-in
4.0
add-in
The goal of CLR 4.0
Working Better Together…
Faster…
With Fewer Bugs…
In-Proc SxS
Native/Managed InteropDLR Integration
Managed Extensibility Framework
Threading Parallel Extensions
Garbage Collection Profiling
Code Contracts DebuggingCorrupted State Exceptions
Whats new in .net framework 4

Contenu connexe

Tendances

Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network Programming
backdoor
 

Tendances (20)

Chap 1 Network Theory & Java Overview
Chap 1   Network Theory & Java OverviewChap 1   Network Theory & Java Overview
Chap 1 Network Theory & Java Overview
 
Erlang OTP
Erlang OTPErlang OTP
Erlang OTP
 
Socket programming-in-python
Socket programming-in-pythonSocket programming-in-python
Socket programming-in-python
 
MPI - 1
MPI - 1MPI - 1
MPI - 1
 
Socket
SocketSocket
Socket
 
Asynchronous Python with Twisted
Asynchronous Python with TwistedAsynchronous Python with Twisted
Asynchronous Python with Twisted
 
Java Network Programming
Java Network ProgrammingJava Network Programming
Java Network Programming
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Python Sockets
Python SocketsPython Sockets
Python Sockets
 
.NET: Thread Synchronization Constructs
.NET: Thread Synchronization Constructs.NET: Thread Synchronization Constructs
.NET: Thread Synchronization Constructs
 
Netty @Apple: Large Scale Deployment/Connectivity
Netty @Apple: Large Scale Deployment/ConnectivityNetty @Apple: Large Scale Deployment/Connectivity
Netty @Apple: Large Scale Deployment/Connectivity
 
Multiplayer Java Game
Multiplayer Java GameMultiplayer Java Game
Multiplayer Java Game
 
Networking in Java
Networking in JavaNetworking in Java
Networking in Java
 
An Introduction to Twisted
An Introduction to TwistedAn Introduction to Twisted
An Introduction to Twisted
 
Tutorial 1 installing mixim and mixnet
Tutorial 1   installing mixim and mixnetTutorial 1   installing mixim and mixnet
Tutorial 1 installing mixim and mixnet
 
An introduction to erlang
An introduction to erlangAn introduction to erlang
An introduction to erlang
 
Socket Programming In Python
Socket Programming In PythonSocket Programming In Python
Socket Programming In Python
 
Md13 networking
Md13 networkingMd13 networking
Md13 networking
 
Omnet++
Omnet++Omnet++
Omnet++
 
Java
Java Java
Java
 

Similaire à Whats new in .net framework 4

Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
Dmitri Nesteruk
 

Similaire à Whats new in .net framework 4 (20)

Unmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/InvokeUnmanaged Parallelization via P/Invoke
Unmanaged Parallelization via P/Invoke
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Programming
Programming Programming
Programming
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Part i
Part iPart i
Part i
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
C Sharp Jn
C Sharp JnC Sharp Jn
C Sharp Jn
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Framework
 
Elements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code FirstElements of DDD with ASP.NET MVC & Entity Framework Code First
Elements of DDD with ASP.NET MVC & Entity Framework Code First
 
Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...Building scalable and language-independent Java services using Apache Thrift ...
Building scalable and language-independent Java services using Apache Thrift ...
 
Building scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftBuilding scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thrift
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
The use of Symfony2 @ Overblog
The use of Symfony2 @ OverblogThe use of Symfony2 @ Overblog
The use of Symfony2 @ Overblog
 
SynapseIndia dotnet development platform overview
SynapseIndia  dotnet development platform overviewSynapseIndia  dotnet development platform overview
SynapseIndia dotnet development platform overview
 
Introduction to Visual Studio.NET
Introduction to Visual Studio.NETIntroduction to Visual Studio.NET
Introduction to Visual Studio.NET
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 

Dernier

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 

Whats new in .net framework 4

  • 1. Visual Studio 2010 and .NET Framework 4 Training Workshop
  • 2. What’s New In .NET Framework 4 Name Title Organization Email
  • 3. A Look Back… .NET 1.0 .NET 1.1 .NET 2.0 3.0 3.5 .NET 4 2002 2003 2008 CTP!2005-08 CLR 1.0 CLR 1.1 CLR 2.0 CLR 4 SP1
  • 4. What Is The .NET Framework? Base Class Libraries The CLR JIT & NGEN Garbage Collector Security Model Exception Handling Loader & Binder WPF Win Forms DLR ASP.NET WCF And more! LINQ
  • 5. Base Class Library Improvements Numerics BigInteger, Complex Data Structures Tuple SortedSet<T>, ISet<T> I/O Memory-Mapped File Unified Cancellation Model
  • 6. The goal of CLR 4 Working Better Together… Faster… With Fewer Bugs… In-Proc SxS Native/Managed InteropDLR Integration Managed Extensibility Framework Threading Parallel Extensions Garbage Collection Profiling Code Contracts DebuggingCorrupted State Exceptions
  • 7. The goal of CLR 4 Working Better Together… Faster… With Fewer Bugs… In-Proc SxS DLR Integration Parallel Extensions Garbage Collection Profiling Code Contracts DebuggingCorrupted State Exceptions Managed Extensibility Framework Threading Native/Managed Interop
  • 8. Design By Contract Code Contracts introduce a way to specify contractual information that is not represented by a method or type’s signature alone.
  • 9. What is a Contract? A contract is… an exchange of promises between two or more parties to do, or refrain from doing, an act which is enforceable in a court of law. - Wikipedia
  • 10. Why Contracts? There upset about that? But its the best gift in the hole world. They’re upset about that? But it’s the best gift in the whole world.
  • 11. Why Contracts? Just because something compiles, doesn’t mean it works…
  • 12. A Contract contains… Pre-conditions - must be true before public Rational(int numerator, int denominator) { Contract.Requires(denominator > 0); … } Post-conditions -must be true after public string GetPassword() { Contract.Ensures(Contract.Result<string>() != null); … return password; }
  • 13. A Contract contains… Invariants - must always be true [ContractInvariantMethod] protected void ObjectInvariant() { Contract.Invariant(denominator > 0); }
  • 15. Type Equivalence Interop Assemblies translate between managed code and COM For each interface, struct, enum, delegate, and member, contains a managed equivalent with marshalling data
  • 16. Primary Interop Assemblies cause many pain points… However!
  • 17. Go Away, PIA! 1. Compilers embed the portions of the interop assemblies that the add-ins actually use 2. Runtime ensures the embedded definitions of these types are considered equivalent
  • 19. Existing Side-By-Side (SxS) .NET 2.0 2.0 add-in 3.0 3.5 Host Process (i.e. Outlook) 3.0 add-in 3.5 add-in 1.1 add-in .NET 1.1
  • 20. In-Process Side-By-Side (SxS) .NET 2.0 .NET 4.0 2.0 add-in 3.0 3.5 Host Process (i.e. Outlook) 3.0 add-in 3.5 add-in 4.0 add-in
  • 21. The goal of CLR 4.0 Working Better Together… Faster… With Fewer Bugs… In-Proc SxS Native/Managed InteropDLR Integration Managed Extensibility Framework Threading Parallel Extensions Garbage Collection Profiling Code Contracts DebuggingCorrupted State Exceptions