ASP.NET 4.0 Demo

Preview:

DESCRIPTION

ASP.NET 4.0 features with Dynamic Data Websites presented by me for DotNetFunda.com

Citation preview

ASP.NET 4.0 In-DepthBy

In case you are having issues regarding audio and video please contact at questpond@questpond.com, these training are available as recordings later , please do not disturb during training.

• Please Mute your mic and mobile during training.

• Ask your question using the Q and A tab in live meeting.

• Speak one at a time so that every one is benefited.

This training session is 

• sponsored by www.itfunda.com • supported and organized by www.questpond.com

Abhijit Jana & Abhishek SurIn Support with

DotNetFunda.Com

Abhijit Jana & Abhishek Sur

Agenda

ASP.NET 4.0ASP.NET 4.0

• Web form Routing• Meta description• Permanent

Redirection

• Web form Routing• Meta description• Permanent

Redirection

Search Engine OptimizationSearch Engine Optimization

• Controlling View State • Compression Enabled

Session • Output Caching

Extensibility

• Controlling View State • Compression Enabled

Session • Output Caching

Extensibility

State ManagementState Management

• Control over client id• Html encoded code

expressions• CSS improvements

• Control over client id• Html encoded code

expressions• CSS improvements

Client SideClient Side

• Smaller Web.config• Performance monitoring

for individual applicatiion• AutoStart application• increase url character• Web.Config

Transformation

• Smaller Web.config• Performance monitoring

for individual applicatiion• AutoStart application• increase url character• Web.Config

Transformation

DeploymentDeployment

• Enhancement in Listview control

• RadioButtonList and CheckBoxList

• CSS Friendly Menu Control

• Enhancement in Listview control

• RadioButtonList and CheckBoxList

• CSS Friendly Menu Control

Server Control EnhancementsServer Control Enhancements

Overview of Dynamic DataOverview of

Dynamic Data

Visual Studio 2010 Enhancement for ASP.NET 4.0Visual Studio 2010 Enhancement for ASP.NET 4.0

Multi targeting Multi targeting

Publish for Web AppPublish for Web App Code SnippetsCode Snippets

Diff. Integrated Web Server Diff. Integrated Web Server

Project TemplatesProject Templates JavaScript intellesenceJavaScript intellesence

Session Flow

1. Discussion of current topic

2. Different Improvement areas

3. Quick Tips

1. Discussion of current topic

2. Different Improvement areas

3. Quick Tips

Demo of all the discussed TopicsDemo of all the

discussed Topics

Quick Recap on what we have

discussed till now

Quick Recap on what we have

discussed till now

Moving forwards to next session

Moving forwards to next session

QuestionsAnd

Answers

QuestionsAnd

Answers

Visual Studio 2010 Enhancement for ASP.NET 4.0

Multi targeting Different Version of Integrated Web Server Code Snippets for Web designer Java script intellesence Project TemplatesPublish a web application

AbhijitJana.net & AbhishekSur.com

Multi targeting

Key Notes : Multi-Targeting Support in VS 2008 Changes in Multi-Targeting in 2010 Convert ASP.NET application from

one framework to another framework

Different Version of Integrated Web Server

Key Notes Visual studio used Integrated

ASP.NET engine to run ASP.NET Application from IDE

CLR version (CLR 2 and CLR 4) you have separate built-in ASP.NET Engine

Side by Side Execution of different framework

Code Snippets for Web designer

Key Notes Code snippets for

– ASP.NET– HTML– ASP.NET AJAX– XML– ASP.NET MVC

Use Surround With Snippets Custom Code Snippet

Java script intellesence

Key Notes Improvement like Code snippets in

ASP.NET Recognize dynamically generated

objects

Project Templates

Key Notes Addition of new templates and

modification of existing templates– ASP.NET Empty Web Application– ASP.NET Web Application

Publish a web application

Key Notes• Many New features added

for Web Site deployment in VS 2010

• One-click publishing• Web packaging• Web.config transformation• Database deployment

DEMOVisual Studio 2010 Enhancement for ASP.NET 4.0

QUICK RECAPVisual Studio 2010 Enhancement for ASP.NET 4.0

QUESTIONS & ANSWERSVisual Studio 2010 Enhancement for ASP.NET 4.0

Server Control Enhancement

RadioButtonList and Checkbox ListEnhancement in List view controlCSS Friendly Menu Control

RadioButtonList and Checkbox ListKey Notes Checkbox list and radiobutton list both

having “RepeatLayout “ properties ASP.NET 3.5 supports “Flow” and “Table”

layout ASP.NET 4.0 added two new layout

“Orderedlist” “UnorderedList These layout has only “Vertical”

RepeatDirection for new layouts.

CSS Friendly Menu Control

Key Notes ASP.NET Menu Control till Version 3.5

rendered as TABLE, TR, TD New Addition of “Rendering Mode”

properties Three Type of Render

Default List Table

Enhancement in List view controlKey Notes Enhancement for layouts rendering ASP.NET 3.5 needs a place holder

inside LayoutTemplate ASP.NET 4.0 Listview doesn’t need

any LayoutTemplate

AbhijitJana.net & AbhishekSur.com

DEMOServer Control Enhancement

QUICK RECAPServer Control Enhancement

QUESTIONS & ANSWERSServer Control Enhancement

Search Engine Optimization

Meta DescriptionWeb Form RoutingPermanent Redirection

Meta Description

Key Notes Search Engine looks for Meta tag of our

web page to get the details of page contents

Two New Properties for Page Class– MetaDescription – MetaKeywords

These can be defined from both code behind and from aspx page

Makes it easier to work with these than defining with HtmlMeta.

Permanent Redirection

Key Notes Removes the problem of Temporary

redirection (302) using Response.Redirect and ensures Search engine updates its database about this redirection using Response.RedirectParmanent(301).

As the round trips will be minimized due to ParmanentRedirection, Page rank can be increased in Search Engines.

Web Form Routing

Key Notes ASP.NET MVC 2 introduces Routing features

in .NET Framework 3.5 SP1. Route Module is been added to

System.Web.dll so it is available readily to any application.

ASP.NET 4.0 already implemented of IRouteHandler called PageRouteHandler, so we do not need to implement the same.

You need to register routes in global.asax or any custom module. Once you register, the routing will be available instantly.

RouteData is available from any page to access RouteTable.

Response.RedirectToRoute allows to use Route redirection from one page to another by calling either routeName of routeValues.

Support for Expression to generate RouteUrl

DEMOSearch Engine Optimization

QUICK RECAPSearch Engine Optimization

QUESTIONS & ANSWERSSearch Engine Optimization

State Management Improvement

Compression Enabled SessionBetter Control in View StateExtensibility in Output Caching

Compression Enabled Session

Key Notes Session Mode

– In Process– Out Process

compressionEnabled attributes for Session State

compress / Decompress the session data during serialization / deserialzation of session data

System.IO.Compression.GZStream

Better Control in View State

Key Notes “EnableViewState” Properties for both

Page Level and Server Control Page Level view state control treat as

highest priorities. ASP.NET 4.0 Introduced ViewStateMode

– Enabled – Disabled– Inherit

http://abhijitjana.net/2010/05/16/viewstate-control-in-asp-net-4-0/

Output Cache ProviderOutput Cache Provider

Extensibility in Output Caching

Key Notes Till ASP.NET 3.5 System.Web.dll assembly

for caching ASP.NET 4.0 introduced

System.Runtime.Caching.dll assembly for caching

Supports Custom Cache Implementation In memory Cache Implementation

System.Runtime.Caching.MemoryCache

Both object caching and ASP.NET output caching will be pluggable

Using Sytem.Cache namespaces

Disk basedDisk

based

In-memor

y

In-memor

yAzureAzure

DEMOState Management Improvement

QUICK RECAPState Management Improvement

QUESTIONS & ANSWERSState Management Improvement

Deployment

Smaller Web.configWeb.config TransformationPerformance MonitoringAuto Start ApplicationIncrease URL LengthWeb Packaging & Publishing

Smaller Web.config

Key Notes Grown considerably over time as ASP.NET

adds up features from 2.0. In 4.0 major portion of Web.config is

moved to machine.config and all the applications automatically inherits them.

Which means smaller web.config just shown in the figure.

Performance Monitoring

Key Notes Performance monitoring of a single

application running under one worker process is difficult.

ASP.NET 4.0 allows you to configure ResourceMonitoring enabled from aspnet.config (Not web.config).

Managed Processor time and Managed Memory used can be checked from application performance option.

Auto Start Application

Key Notes Huge load of initialization weak up asp.net

application for first web call. IIS 7.5 introduces Application warm up

module to ensure your application always keep running.

You can use applicationhost.config to configure your IIS worker process to keep warm up module in action

You can have managed hooks to the system to write your custom code during initialization using IProcessHostPreloadClient interface which will be called automatically before any HTTP request is processed.

Web.config Transformation

Key Notes Separate Web.config files for Debug,

release, staging etc. Xdt:Transform and xdt:Locator lets you to

match certain portion of your config and allow automatic transformation of web.config.

Locator can be specified using XPath, Match, Condition allow you to find in config easily.

Transform includes Replace, Insert, InsertBefore, InsertAfter, Remove, RemoveAll etc.

Increases URL length

Key Notes Previous static length of url to 260 characters (based on

NTFS file path limit) can be configured from application. You can change the maximum size of URL using

HttpRuntime configuration. requestPathInvalidChars lets you to prevent characters

in URL. Support for URL in different browsers:

1. 2083 characters for IE with less than 2048 characters in path portion of the url.

2. More than 100,000 characters are supported for Firefox but address bar can only display upto 65,536 characters. 3. 80,000 for Safari. 4. 190,000 characters for Opera

Still it is not recommended to use more than 2000 characters in URL

WebPackaging & Publishing

Key Notes VS 2010 allows you to publish your application with a

single click. MSDeploy Publising, FTP, File System, FrontPage Server

Extensions. Packaging allows you to package your web application

into a compressed archive, which you later may use to deploy the application.

Allows you to deploy Files, Settings, Configuration, GAC, etc.

Sql Server deployment allows you to include SQL Scripts with your package.

DEMODeployment

QUICK RECAPDeployment

QUESTIONS & ANSWERSDeployment

Client Side Improvement

Control over Client IDHTML Encoded Code ExpressionCSS Improvements

AbhijitJana.net & AbhishekSur.com

Control over Client ID

Key Notes All Server side control rendered as HTML

Control and need a ID to identify. This ID used to be auto generated New property introduced “ClientIDMode” Control.ClientIdMode

– AutoID– Static– Predictable– Inherit

HTML Encoded Code ExpressionKey Notes Till ASP.NET 3.5 we have used <

%=expression%>

– Causes XSS ASP.NET 4 introduces the following new

syntax for code expressions.

– <%: expression %> – <%=

HttpUtility.HtmlEncode(expression) %>

<%: expression %> <%: expression %>

<%= HttpUtility.HtmlEncode(expression) %> <%= HttpUtility.HtmlEncode(expression) %>

CSS Improvements

Key Notes VS 2010 has been updated to improve CSS

2.1 Standards. ASP.NET 4 has been to help render HTML

that is compliant with the latest HTML standards

Use of controlRenderingCompatibilityVersion

Default set to 4.0 for ASP.NET 4.0 applications

We can use 3.5 to support legacy markup

DEMOClient Side Improvements

QUICK RECAPClient Side Improvements

QUESTIONS & ANSWERSClient Side Improvements

Overview of Dynamic Data

Creates UI automatically that reacts on data.

Pages are created dynamically based on Data configured for the web site.

Linked pages holds relationship between data.

Support for both Linq to Sql and ADO.NET Data Entities.

Open Discussion

AbhijitJana.net & AbhishekSur.com

THANK YOU !

ASP.NET 4.0 Presenter : Abhijit Jana (http://abhijitjana.net)

Abhishek Sur ( http://abhisheksur.com)