Vous êtes sur la page 1sur 5

.NET 3.

5
• Released on November 19, 2007.
• Is included with Windows Server 2008.

What happen 3.0?


• Was not around for very long time
• The 3.0 features is now part of 3.5 also
• .NET Framework 3.0 consists of four major new components
o Windows Presentation Foundation (WPF), formerly code-named
Avalon; a new user interface subsystem and API based on XML
and vector graphics, which uses 3D computer graphics
hardware and Direct3D technologies.
o Windows Communication Foundation (WCF), formerly code-
named Indigo; a service-oriented messaging system which
allows programs to interoperate locally or remotely similar to
web services.
o Windows Workflow Foundation (WF) allows for building of task
automation and integrated transactions using workflows.
o Windows CardSpace, formerly code-named InfoCard; a
software component which securely stores a person's digital
identities and provides a unified interface for choosing the
identity for a particular transaction, such as logging in to a
website.

Comparing between 2.1 and 3.5


1. The .NET CLR is the same.
2. Same Base class library except some additional properties and
methods that are added to the Base Class Libraries in order to make
some 3.5 features like LINQ work as well as fix a few customer issues.
3. Visual Studio 2007 supports .NET 3.5 as well as .NET 2.0

New Features
1. Adds new language LINQ.
2. New language features in C# 3.0 and VB.NET 9.0
3. ASP.NET 3.5

4. ASP.NET AJAX. ASP.NET supports server-centric AJAX development


with a set of new server controls and APIs. You can enable an existing
ASP.NET 2.0 page for AJAX by adding a ScriptManager control and
an UpdatePanel control so that the page can update without requiring a
full page refresh.

5. ASP.NET and Visual Web Developer now support the creation of both
ASMX (recall that .NET Web Services use the .asmx extension) and
WCF-based Web services and the seamless use of either
implementation from Web pages using Microsoft AJAX Library

6. A new data control, ListView, for displaying data. Supports edit, insert,
and delete operations, as well as sorting and paging functionality. The
paging functionality for ListView is provided by a new control called
DataPager. DataPager control supports built-in paging UI. You can
specify the paging UI by using the NumericPagerField object, which
lets users select a page by page number. You can also use the
NextPreviousPagerField object, which lets users navigate through
pages one page at a time, or to jump to the first or last page.

7. A new data source control, LinqDataSource, that exposes Language


Integrated Query (LINQ) to Web developers through the ASP.NET data
source control architectures
8. A new tool, ASP.NET Merge Tool (Aspnet_merge.exe), for merging
precompiled assemblies
9. Tight integration with IIS 7.0

10. Other improvements in Visual Web Developer include multi-targeting


support, inclusion of Web Application Projects, a new Design view, new
Cascading Style Sheets (CSS) design tools, and support for LINQ for
SQL databases. Multitargeting enables you to use Visual Web
Developer to target development of Web applications to specific
versions of the .NET Framework, including versions 2.0, 3.0, and 3.5.

11. Changes in CLR


1. HashSet<(Of <(T>)>) provides high performance set operations
to the .NET Framework. A set is a collection that contains no
duplicate elements, and whose elements are in no particular
order.
2. Concept of Pipes to provide a means for inter-process
communication. There are two types of pipes. Anonymous pipes
provide interprocess communication on a local computer.
Named pipes provide interprocess communication between a
pipe server and one or more pipe clients. You implement named
pipes by using the NamedPipeServerStream and
NamedPipeClientStream classes.
3. The GCSettings class has a new LatencyMode property that you
can use to adjust the time that the garbage collector intrudes in
your application. You set this property to one of the values of the
new GCLatencyMode enumeration.
4. The GC class has a new Collect(Int32, GCCollectionMode)
method overload that you can use to adjust the behavior for a
forced garbage collection. For example, you can use this
overload to specify that the garbage collector should determine
whether the current time is optimal to reclaim objects. This
overload takes a value from the new GCCollectionMode
enumeration. (Default: The default setting for this enumeration,
which is currently Forced. Forced: Forces the garbage collection
to occur immediately, Optimized: Allows the garbage collector to
determine whether the current time is optimal to reclaim objects)
Windows Communication Foundation

• Microsoft’s unified programming model for building service-oriented


applications.
• The typed programming model (called the service model) is
designed to ease the development of distributed applications and to
provide developers with expertise in ASP.NET Web services, .NET
Framework remoting, and Enterprise Services, and who are coming
to WCF with a familiar development experience.

LINQ

• Language-Integrated Query (LINQ) adds general-purpose query


facilities to the .NET Compact Framework that apply to various sources
of information such as relational databases, XML data, and in-memory
objects.
• These features enable the .NET Compact Framework to query on
different sources of information without adding relational or XML-
specific features to the programming language.
• LINQ defines a set of general-purpose standard query operators that
enable you to perform language-integrated query, set, and transform
operations on internal or external data. The standard query operators
let you apply queries to any IEnumerable<T>-based information
source.
• LINQ defines about 40 query operators, such as select, from, in,
where, and orderby (in C#).
• One such example
o Accessing In-Memory Collections using LINQ

Selecting all the items in a generic List collection

private static List<string> people = new List<string>()


{
"Granville", "John", "Rachel", "Betty",
"Chandler", "Ross", "Monica"
};

public static void Example1()


{
IEnumerable<string> query = from p in people select p;
foreach (string person in query)
{
Console.WriteLine(person);
}
}

• More complicated query:

IEnumerable<string> query = from p in people where p.Length > 5


orderby p select p;

foreach (string person in query)


{
Console.WriteLine(person);
}

Vous aimerez peut-être aussi