Coldapoy's Technical Blog

"Programming is like sex: one mistake and you have to support it for the rest of your life"

Understanding the .NET Framework 3.5

 Microsoft .NET Framework is a software component that is a part of several Microsoft Windows operating systems. It has a large library of pre-coded solutions to common programming problems and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform.

The pre-coded solutions that form the framework's Base Class Library cover a large range of programming needs in a number of areas, including user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers who combine it with their own code to produce applications.

Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. Also part of the .NET Framework, this runtime environment is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together compose the .NET Framework.

Version

Version Number

Release Date

1.0

1.0.3705.0

2002-01-05

1.1

1.1.4322.573

2003-04-01

2.0

2.0.50727.42

2005-11-07

3.0

3.0.4506.30

2006-11-06

3.5

3.5.21022.8

2007-11-19

 

NET Framework 3.5

Version 3.5 of the .NET Framework was released on November 19, 2007, and is included with Windows Server 2008. As with .NET Framework 3.0, version 3.5 uses the CLR of version 2.0. In addition, it installs .NET Framework 2.0 SP1 and .Net Framework 3.0 SP1, which adds some methods and properties to the BCL classes in version 2.0 which are required for version 3.5 features such as Language Integrated Query (LINQ). These changes do not affect applications written for version 2.0, however.

 

As with previous versions, a new .NET Compact Framework 3.5 was released in tandem with this update in order to provide support for additional features on Windows Mobile and Windows Embedded CE devices.

There are two elements that make up version 3.5 of the Framework: the "green bits" and the "red bits". This model is aimed at minimizing the impact of delivering new features and functionality. The red bits are those parts of the Framework that exist in release today, which include the .NET Framework 2.0 and 3.0 releases. The green bits are brand new assemblies with brand new types in them.

Image

Looking at the diagram above, you might notice that the full version number for the .NET Framework v2.0 bits is different across the different versions. The important thing to understand here is how Microsoft views version numbers. In the Microsoft world, the version number is the first three parts - the Major.Minor.Build parts. The fourth part is the Revision, which corresponds to the service pack level.

 

The end result of this is that the .NET Framework v3.0 is at a different service pack on Vista then it is on other versions of Windows. The .NET Framework v3.5 includes updates to both the v2.0 and v3.0 frameworks. These updates are not new changes or features, but are really a service pack with bug fixes and performance improvements.

 

The .NET Framework 3.5 brings no breaking changes. New technology is being added including LINQ, AJAX, WF, WCF and WPF Developer Tools and BCL enhancements.

.NET Framework 3.5 New Features


Faster .NET Framework execution

1. Faster garbage collection

2. Smarter, faster NGen requiring smaller working set RAM

3. 64 bit client improvements

4. ThreadPool performance improvements

5. Security check caching during NGen

 

Base Class Library – New Class Additions

6. BigInteger, HashSet and DateTime2 types

7. NSA Suite ”B” and FIPs compliant cryptography

8. Lightweight Reader/Writer Lock Classes

9. Anonymous and Named Pipes IO Classes

10. Integration with Event Tracing for Windows

11. New Adding hosting model for extensibility

 

Language Integrated Query (LINQ)

Deep integration of LINQ data-awareness into the programming languages and framework.

 

Workflow Enabled Services – Process and Messaging together

Using workflow to provide for durable and long-running services. New Tools, WF activities and new programming model classes have been added to simplify building workflow-enabled services using WF and WCF. This allows a .NET Framework developer to build business logic for a service using WF and expose messaging from that service using WCF. These improvements not only provide tools for this scenario but they reduce the amount of glue code that was previously required.

 

Web 2.0 Friendly and AJAX Enabled WCF Services

Ajax is a web development technique for making asynchronous exchanges of small amounts of data between browser and web service calls from the browser client script to the web server. A programming model is provided for building Ajax style web applications using WCF services. An HTTP programming model is also provided allowing for REST style web services.

 

Visual Studio Developer Tools for WF, WCF and in Visual Studio “Orcas”

Visual Studio”Orcas” has built in tools for web service authoring with WCF and for building workflow enabled software with WF. There are new project templates for WCF services, WF business logic, workflow enabled services, and AJAX services. The templates are conveniently set up to compile and run even before any custom code is added enabling .NET developers to get going quickly. There are also numerous other tools for developing with WF, WCF and WPF.

 

More WS-* Standards Support

Implementation in WCF of the latest OASIS specifications Web Services Atomic Transaction (WS-AtomicTransaction) 1.1, WS-ReliableMessaging 1.1, WS-SecureCOnversation and Web Services Coordination (WS-Coordination) 1.1.



RSS and ATOM Syndication API

Applications built using WCF will be able to easily expose syndicated data which can be consumed by an RSS or ATOM reader.

 

Partial Trust Support for WCF Hosting

Partial trust on the vlient is provided for ASMX parity focussing mainly on partially trusted WCF applications deployed through click-once. Support is provided for basic HTTP binding provided that the application runs in the Internet zone permissions and have granted the apropriate WebPermission. Secure communication is possible through transport security only. All other features are not available to partially trusted applications including hosting services, duplex communications, non-HTTP transports, WS-* protocols and any WF use.


Rules Data Improvements

The rules engine in WF is improved to add support for C# 3.0 extension metods, and for operator overloading . Also the ”new” operator is added to compete the base set of expression types.

 

Built-in WPF tools for Visual Studio “Orcas”

The Visual Studio designer for WPF was previously released as a CTP. It is not integrated into the development environment and is significantly improved.


Additional WPF Features and Improved Performance

WPF has smoother animations, faster startup and better overall performance. There are also new data types available for data binding with LINQ. Better integration support is now provided for with codename “WPF/E”.

 

 

Leave a Comment

(required) 

(required) 

(optional)

(required) 


Enter the numbers above: