Wednesday, February 3, 2010

New Features in .net 4.0

After searching a lot i have come forward with a compiled list of main features that are in .net 4.0. Though this list is not exhaustive. Further I have given links that would elaborate the topic more. For more complete official features see this whitepaper from Microsoft detailing many of the new features in ASP.NET 4.0.

There's a couple of videos on Mircosoft Channel 9:

The list is as follows:.
o   Type Equivalence (noPIA)

Ø  Languages
o   C#
§  dynamic keyword
§  Named / optional arguments
§  Co/contra-variance support in delegates and interfaces
o   VB.NET
§  Auto Properties
§  Lambdas with no return value
§  Multi-line lambdas
§  Collection Initializers
§  Automatic Line Continuations
o   F#
§  IronRuby (out of band release)

o   Reactive Extensions (IObservable)
o   Location / GPS APIs
o   Large Numbers (BigInteger, Complex Numbers)
o   Tuples / SortedSet
o   ObservableCollection moved to System.dll
o   Lots of random, helpful, API changes:
§  Enum.HasFlag
§  Enum.TryParse
§  Stream.CopyTo(Stream)
§  Guid.TryParse
§  IEnumerable File.EnumerateFiles()
§  IEnumerable File.ReadLines()
§  String.Join(IEnumerable)
§  String.Concat(IEnumerable)

o   Extensible Output Caching (OutputCacheProvider)
o   SEO improvements (access to page metadata)
§  Areas (Admin areas)
§  Validation (annotations; support for jquery)
§  Type templates
o   ASP.NET WebForms

Ø  WPF (also)
o   Windows 7 Multitouch
o   Windows 7 Shell integration (Taskbar windows, taskbar progress)
o   Cached Compositions
o   Pixel Shader 3
o   DLR databinding support
o   New XAML/BAML parser
o   Visual State Manager (from Silverlight)

o   Multitouch + gestures
o   Printing support
o   CoreCLR / CLR compatability (single compilation)
o   Webcam / Microphone Support
o   Mousewheel support
o   Official Google Chrome support
o   200% faster (supposedly)
o   H.264
o   Video streaming support
o   Out-of-browser applications
§  Host HTML
§  Toast (bubble) notifications
§  Window chrome customisations
o   Trusted out-of-browser applications
§  User folder read-write access (my documents, etc)
§  COM automation
§  Privilage elevation dialog

o   Completely Rewritten
o   Persistance Ignorance / POCO Support
§  Comparison or virtual members
o   Model-first / Database Generation Support
o   T4 Code Generation
o   Lazy Loading
o   "Client" entities that track their own changes
o   Code-only developer support (no edmx xml)

o   Completely rewritten
o   XAML (codeless) design
o   Limited BC with WF3

o   Static Code Analysis (class coupling, etc)
o   Task debugging support (task stack visualisation)
o   Add Reference dialog defaults to Project; .NET tab is asynchronous
o   Code navigation (CTRL+COMMA to find resource by name)
o   Editor written in WPF / MEF
o   No more "team" editions. Only Professional, Premium and Ultimate
o   "Data Dude": redistributable command line for comparing and updating databases (Premium/Ultimate)
o   Test features: ability to record video + steps of bugs for reproduction (Premium/Ultimate)

Further features module wise (not exhaustive) is as follows:

 Web Forms
Ø  Developers can manage control IDs that affect rendered client ID
Ø  Remove ID bloat, and 'mangling'
o   Ideally remove the need to use CSS adapters
o   Defer to CSS styles and bypass existing style properties
§  non-inline style attributes
o   Support non-table-based HTML rendering
Ø  URL-routing for web forms
o   Friendly url handling for web forms
o   configuration model for url routing
Ø  View state
o   Disable on the page, enable on specific controls - they will provide granular control of viewstate - today it is backwards
o   Disable on control, enable on child controls
o   GridView/ListView work better without viewstate
Ø  ASP.NET dynamic-data

Ø  Continue ASP.NET Ajax innovation : RIA
Ø  Appeal to JavaScript Developers
Ø  Provide support for the page developer
Ø  jQuery including Intellisense
Ø  Templates and data binding
o   Client side handling, REST or Web Services
o   Covers page developer and component developer scenarios
Ø  DOM manipulation, selectors ...
Ø  Ajax higher-level components
o   Ajax Control Toolkit is a part of the strategy - they will make the toolkit part of the overall ASP.NET package
o   New controls
Ø  Centralized script libraries and break-up for performance

Ø  Appeal to those wanting separation of concerns, TDD, full control
Ø  Ruby on Rails, Django, PHP
Ø  Building on from ASP.NET MVC 1.0
Ø  ASP.NET MVC (Model View Controller)
Ø  Asynchronous controllers
Ø  Sub-controllers & Views
Ø  Declarative controls

Ø  Address customer pain points
Ø  Improve scale and performance
Ø  Cache extensibility and performance:
o   Enable caching like Velocity


  1. Thanks for such an elaborative list. It really helped me a lot !

  2. I have heard about another way of how the html typed data are saved into the database. Besides, you can visit my blogs at: or where I’m trying to share my experience with regard to data corruption issues.


Comments to this post


Related Posts with Thumbnails