Technical Presentation

saucecopywriterInternet και Εφαρμογές Web

2 Φεβ 2013 (πριν από 4 χρόνια και 6 μήνες)

138 εμφανίσεις

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 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

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

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<T>


Peer
-
to
-
Peer networking framework


Integration of WCF and WWF (
Workflow
Services
)

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

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

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

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


Implicitly typed locals


Extension methods


Lambda Expressions


Object initializers


Anonymous types


Nullable types


Query expressions


XML Literals



Dim x = 5

<Extension>


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

10

SqlConnection

c = new
SqlConnection
(…);

c.Open
();

SqlCommand

cmd

= new
SqlCommand
(


@"SELECT
c.Name
,
c.Phone


FROM Customers c


WHERE
c.City

= @p0");

cmd.Parameters
["@p0"] = "London";

DataReader

dr

=
c.Execute
(
cmd
);

while (
dr.Read
()) {


string name =
dr.GetString
(0);


string phone =
dr.GetString
(1);


DateTime

date =
dr.GetDateTime
(2);

}

dr.Close
();

Queries in
quotes

Loosely bound
arguments

Loosely typed
result sets

No compile time
checks

11

public class Customer { … }


public class Northwind: DataContext

{


public Table<Customer> Customers;




}

Northwind

db = new
Northwind
(…);

var

contacts =


from c in
db.Customers


where
c.City

== "London"


select new {
c.Name
,
c.Phone

};

Classes describe
data

Strongly typed
connection

Integrated query
syntax

Strongly typed
results

Tables are like
collections

13

LINQ to SQL


LINQ to SQL
Designer in
VS 2008

NorthwindDataContext db =


new NorthwindDataContext();

var customers = from c in db.Customers


where c.City == "London" select c;

foreach (var cust in customers)


Console.WriteLine(


"id = {0}, City = {1}",


cust.CustomerID, cust.City);

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

New ASP.NET Data Controls


<asp:ListView>



<asp:DataPager>



<asp:LinqDataSource>


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

ListView


<asp:ListView ID="ListView2" runat="server" DataSourceID="MyDataSource"> <LayoutTemplate>
<asp:PlaceHolder ID="itemPlaceholder" runat="server"> </asp:PlaceHolder> </LayoutTemplate> <ItemTemplate>
<asp:Label ID="Company" runat="server" Text='<%# Eval("CompanyName") %>' /> <br /> <asp:Label
ID="CityLabel" runat="server" Text='<%# Eval("City") %>' /> <hr /> </ItemTemplate> </asp:ListView>

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

DataPager


20

LinqData Source Control


Bind to a Linq Data Model

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

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

ASP.NET Dynamic Data

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

v1.0




ASP.NET 3.5

VS 2008

v1.0


v3.5

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.net



Developed using a collaborative
source model


Licensed under Microsoft Public
License (Ms
-
PL)


All source freely available


~ 40 controls as of today