Presentation is loading. Please wait.

Presentation is loading. Please wait.

ASP.NET 3.5 New Features. 2 Agenda What's New in.NET Framework 3.5? Visual Studio 2008 Enhancements LINQ (Language Integrated Query) New ASP.NET Server.

Similar presentations


Presentation on theme: "ASP.NET 3.5 New Features. 2 Agenda What's New in.NET Framework 3.5? Visual Studio 2008 Enhancements LINQ (Language Integrated Query) New ASP.NET Server."— Presentation transcript:

1 ASP.NET 3.5 New Features

2 2 Agenda What's New in.NET Framework 3.5? Visual Studio 2008 Enhancements LINQ (Language Integrated Query) New ASP.NET Server Controls ASP.NET 3.5 Extensions  ASP.NET Dynamic Data ( now in SP1 )  ASP.NET MVC Framework ( now in Beta )  ASP.NET and AJAX Integration  ASP.NET Controls for Silverlight

3 3 Timeline November 2005 ASP.NET 2.0 Released along with Visual Studio 2005 (No ASP.NET AJAX) January 2007 ASP.NET AJAX v1.0 released as an add-on to ASP.NET 2.0 (Works with Visual Studio 2005) May 2007 ASP.NET "Futures" a developer preview of some of the features considered for future releases released as a CTP July 2007 ASP.NET "Futures" CTP Updated November 2007 ASP.NET 3.5 and Visual Studio 2008 released (ASP.NET 3.5 contains built-in newer version of ASP.NET AJAX, ListView, DataPager and LinqDataSource controls) December 2007 ASP.NET 3.5 Exensions (CTP Version containing new features for ASP.NET, AJAX and Silverlight) August 2008.Net 3.5 SP1

4 4 What’s New in.NET Framework 3.5? Language Integrated Queries (LINQ)  Family of technologies that provides querying features for data, from relational to XML  Generate a LINQ object model that provides an object representation of the database New collections: HashSet Peer-to-Peer networking framework Integration of WCF and WWF (Workflow Services)

5 5 What’s New in Visual Studio 2008? Framework targeting (2.0, 3.0, 3.5) Full support for LINQ and LINQ to SQL Integrated ASP.NET AJAX Improved HTML editor  Split source/design view  JavaScript IntelliSense and debugging  CSS manager and debugger Integrated WPF, WCF, WF designers Runs a bit slower

6 6 Visual Studio 2008 Enhancements Multi-Targeting Nested Master Pages Fast Switching Split View CSS Tools Control Extender Support JS Intellisense JS Debugging Visual Studio 2008

7 7 LINQ and LINQ to SQL Query, set and transform operations for.NET Querying data becomes a core programming concept Works with all types and shapes of data  Relational databases  XML  Objects  … Works with all.NET languages  C# and VB and have integrated language support LINQ to SQL  Powerful ORM framework

8 8 var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; var contacts = customers.Where(c => c.State == "WA").Select(c => new { c.Name, c.Phone }); Extension methods Lambda expressions Query expressions Object initializers Anonymous types Local variable type inference Expression trees Automatic properties Partial methods

9 9 Implicitly typed locals Extension methods Lambda Expressions Object initializers Anonymous types Nullable types Query expressions XML Literals XML Literals Dim x = 5 <Extension> Sub Randomize(col As Collection) Sub Randomize(col As Collection) Function(c) c.Name New Point With {.x = 1,.y = 2 } New With { c.Name, c.Phone } From … Where … Select If emp.DOB >= Today

10 10 SqlConnection c = new SqlConnection(…); c.Open(); SqlCommand cmd = new SqlCommand( @"SELECT c.Name, c.Phone @"SELECT c.Name, c.Phone FROM Customers c FROM Customers c WHERE c.City = @p0"); WHERE c.City = @p0"); cmd.Parameters["@p0"] = "London"; DataReader dr = c.Execute(cmd); while (dr.Read()) { string name = dr.GetString(0); string name = dr.GetString(0); string phone = dr.GetString(1); string phone = dr.GetString(1); DateTime date =dr.GetDateTime(2); DateTime date =dr.GetDateTime(2);}dr.Close(); Queries in quotes Loosely bound arguments Loosely typed result sets No compile time checks

11 11 public class Customer { … } public class Northwind: DataContext { public Table Customers; public Table Customers; …} Northwind db = new Northwind(…); var contacts = from c in db.Customers from c in db.Customers where c.City == "London" where c.City == "London" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; Classes describe data Strongly typed connection Integrated query syntax Strongly typed results Tables are like collections

12 12 using System; using System.Query; using System.Collections.Generic; class app { static void Main() { string[] names = { "Allen", "Arthur", "Bennett" }; IEnumerable ayes = names.Where(s => s[0] == 'A'); foreach (string item in ayes) Console.WriteLine(item); names[0] = "Bob"; foreach (string item in ayes) Console.WriteLine(item); } Arthur Integrated, native query syntax in C# and VB Integrated, native query syntax in C# and VB  IntelliSense and Autocompletion Query Operators can be used against any.NET collection (IEnumerable ) Query Operators can be used against any.NET collection (IEnumerable )  Built-in examples: Select, Where, GroupBy, Join, etc.  Extensibility model supports extending/replacing these Deferred Query Evaluation Deferred Query Evaluation Lambda Expressions Lambda Expressions using System; using System.Query; using System.Collections.Generic; class app { static void Main() { string[] names = { "Allen", "Arthur", "Bennett" }; IEnumerable ayes = names.Where(s => s[0] == 'A'); foreach (string item in ayes) Console.WriteLine(item); names[0] = "Bob"; foreach (string item in ayes) Console.WriteLine(item); } Allen Arthur using System; using System.Query; using System.Collections.Generic; class app { static void Main() { string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; IEnumerable expr = from s in names where s.Length == 5 orderby s select s.ToUpper(); foreach (string item in expr) Console.WriteLine(item); } BURKE DAVID FRANK using System; using System.Query; using System.Collections.Generic; class app { static void Main() { string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; Func filter = s => s.Length == 5; Func extract = s => s; Func project = s = s.ToUpper(); IEnumerable expr = names.Where(filter).OrderBy(extract).Select(project); foreach (string item in expr) Console.WriteLine(item); } BURKE DAVID FRANK

13 13 LINQ to SQL LINQ to SQL Designer in VS 2008 NorthwindDataContext db = new NorthwindDataContext(); new NorthwindDataContext(); var customers = from c in db.Customers where c.City == "London" select c; where c.City == "London" select c; foreach (var cust in customers) Console.WriteLine( Console.WriteLine( "id = {0}, City = {1}", "id = {0}, City = {1}", cust.CustomerID, cust.City); cust.CustomerID, cust.City);

14 14 LINQ to Objects API  queries over any.NET collection, such as arrays and generic lists. LINQ over XML (XLinq)  Core functionality of the XLinq API such as load, modify, and save XML documents LINQ to SQL  provides direct access to database tables from the programming environment LINQ to Entities  enables developers to use LINQ over EDM models LINQ to Dataset  allows the full expressivity of LINQ to be used over Datasets.

15 15 New ASP.NET Data Controls

16 16 ListView Control Combines templating capabilities of the Repeater control and the data editing capabilities of the DataGrid complete control of how the ListView presents your data through 11 templates.  LayoutTemplate  AlternatingItemTemplate  EditItemTemplate  EmptyDataTemplate  EmptyItemTemplate  GroupTemplate  GroupSeparatorTemplate  InsertItemTemplate  ItemTemplate  ItemSeparatorTemplate  SelectedItemTemplate most important templates are the LayoutTemplate and the ItemTemplate. LayoutTemplate HTML defines the overall look and feel ItemTemplate HTML specifies how each bound record will appear.

17 17 ListView ' /> ' />

18 18 DataPager provides paging capabilities. points at the control it provides paging support for. As an external control place it anywhere on the page, and configure look works with controls that implement the IPageableItemContainer interface ( ListView )

19 19 DataPager

20 20 LinqData Source Control Bind to a Linq Data Model

21 21 ASP.NET 3.5 Extensions ASP.NET MVC Framework  Model View Controller framework for ASP.NET ( now in Beta ) ASP.NET Dynamic Data  Dynamic data controls for displaying/editing table data in ASP.NET ASP.NET AJAX  Browser history support ADO.NET Data Services  Create REST addressable services endpoints for your data and consume with AJAX and Silverlight Silverlight Controls for ASP.NET  Integrate Silverlight into ASP.NET applications

22 22 ASP.NET Dynamic Data Create quickly a rich data-driven Web sites  Like in Ruby on Rails and Django (in Python)  Based on LINQ to SQL data model  Dynamically display data based on the data model of the underlying database  Pages are created automatically (zero code) Based on highly customizable templates Uses dynamic data fields – user controls that render standard data field types

23 23 ASP.NET Dynamic Data

24 24 ASP.NET AJAX All AJAX 1.0 features in.NET 3.5  Enhancements to UpdatePanel  WCF JSON Services Better Development Experience  JavaScript Intellisense  JavaScript Debugging  ASP.NET AJAX Extender Control Support ASP.NET 2.0 VS 2005 ASP.NET 2.0 VS 2005 v1.0 ASP.NET 3.5 VS 2008 ASP.NET 3.5 VS 2008 v1.0 v3.5

25 25 ASP.NET AJAX Control Toolkit Separate download from core ASP.NET AJAX  Library of free ASP.NET AJAX enabled controls  Download from http://ajax.asp.nethttp://ajax.asp.net Developed using a collaborative source model  Licensed under Microsoft Public License (Ms-PL)  All source freely available ~ 40 controls as of today


Download ppt "ASP.NET 3.5 New Features. 2 Agenda What's New in.NET Framework 3.5? Visual Studio 2008 Enhancements LINQ (Language Integrated Query) New ASP.NET Server."

Similar presentations


Ads by Google