Whats new in .net framework 4

Post on 28-Jun-2015

369 views 2 download

Tags:

Transcript of Whats new in .net framework 4

Visual Studio 2010and

.NET Framework 4

Training Workshop

Visual Studio 2010and

.NET Framework 4

Training Workshop

What’s New In.NET Framework 4

What’s New In.NET Framework 4

NameTitleOrganizationEmail

A Look Back…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?What Is The .NET Framework?

Base Class Libraries

The CLRJIT & NGEN

Garbage Collector

Security Model

Exception Handling

Loader & Binder

WPFWin

FormsDLR

ASP.NET

WCFAnd

more!LINQ

Base Class Library Improvements

Base Class Library Improvements

NumericsBigInteger, Complex

Data StructuresTupleSortedSet<T>, ISet<T>

I/OMemory-Mapped FileUnified Cancellation Model

The goal of CLR 4The 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 4The 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 ContractDesign 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?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?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?Why Contracts?

Just because something compiles, doesn’t mean it works…

A Contract contains…A Contract contains…

Pre-conditions - must be true beforepublic Rational(int numerator, int denominator){Contract.Requires(denominator > 0); …}

Post-conditions -must be true afterpublic string GetPassword(){Contract.Ensures(Contract.Result<string>() != null); … return password;}

A Contract contains…A Contract contains…

Invariants - must always be true[ContractInvariantMethod]protected void ObjectInvariant(){Contract.Invariant(denominator > 0);}

Code ContractsCode Contracts

Type EquivalenceType 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!However!

Go Away, PIA!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-PIANo-PIA

Existing Side-By-Side (SxS)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)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.0The 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