ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team [email protected]...
-
Upload
abigail-reeves -
Category
Documents
-
view
213 -
download
0
Transcript of ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team [email protected]...
![Page 1: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/1.jpg)
ASP.NET 2.0 - Differences
Dave WebsterEMEA Technical Team [email protected]/davewebsterMicrosoft Corporation
![Page 2: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/2.jpg)
Who are you?
• ASP 2.0
• ASP Classic?
• PHP?
• ASP 1.1?
• Ruby on rails?
• Cold Fusion?
![Page 3: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/3.jpg)
Overview
• The good and bad with Classic ASP (and PHP)
• Introduction to Microsoft® ASP.NET
• Key changes from ASP to ASP.NET
• Applications that use databases
• ASP to ASP.NET compatibility FAQ
• An introduction to Atlas
3
![Page 4: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/4.jpg)
What do you like about…• ASP Classic/PHP?
– Its free
– Lots of samples
– Deployment is easy
– Your existing code just works
– Living community
![Page 5: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/5.jpg)
What don't you like about…• ASP/PHP
– Not type safe
– Spaghetti code
– Error prone
– Security risks?
• Code base may be old and vulnerable (esp. ASP)
– Can't reuse skills
– Not object Oriented (ASP earlier PHP)
– Lots of code (even if it's someone else's)
• PHP
– Best editors are not free
![Page 6: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/6.jpg)
What concerned you about previous versions of ASP.Net?
• Requires learning a new language – VB.Net looks different– All the samples are in C#
• Everything was compiled into a single binary• Deployment is difficult• Its expensive just to evaluate it• Needs IIS on the machine – can’t use at home or at
work
6
![Page 7: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/7.jpg)
Enter Asp.Net 2.0
• Requires learning a new language – VB.Net looks different it’s still VB– All the samples are in C#. Now also in VB.Net.
• No compile step necessary, save and refresh
• Deployment is easy
• Express edition is free
• Comes with its own limited Web Server
7
![Page 8: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/8.jpg)
ASP.NET Request Flow
RequestRequest
ASPXASPX
engineengine
ParseParse
Instantiate, Instantiate, process, and process, and
renderrender
ResponseResponse
RequestRequest
GenerateGenerate
ResponseResponsePagePage
classclass
InstantiateInstantiate
8
![Page 9: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/9.jpg)
ASP.NET Programming Models• Two types of programming models exist
– ASPX page only: contains HTML, control tags, and code
– Code-behind model: ASPX file contains HTML and control tags, and a code-behind file contains code
• A true separation between code and contentOne File Two files. (code-behind model)
Page.aspx Page.aspx Page.aspx.vb
<Tags> + Code
<Tags> Code
9
![Page 10: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/10.jpg)
Visual Studio 2005
Microsoft Visual Studio Professional Edition
Novices
Enthusiasts
Students
Hobbyists
Part-Timers
Professionals
Consultants
Enterprise Devs
Visual StudioTeam System
Visual StudioTeam Architect Edition
Visual StudioTeam Developer Edition
Visual StudioTeam Tester Edition
Architects
Testers
C#Express
VB C++ J# Web
![Page 11: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/11.jpg)
Demo
• Hello world
• Controls
• Accessibility
• Localization
![Page 12: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/12.jpg)
ASP.NET Features
• Life made easy for developers– Visual Studio designer support, rich server
controls, and base class library support– Write code in the language of your choice– Structured error handling– Great debugging and tracing support
12
![Page 13: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/13.jpg)
ASP.NET Features
• Performance, scalability, and reliability– Compiled code means speed– Cache APIs to improve performance and scalability– Built-in support for Web farms and Web gardens– Nonstop availability and protection against
deadlocks, memory leaks, and so on
13
![Page 14: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/14.jpg)
ASP.NET Features
• Easy deployment– Xcopy deployment – Don’t need FPSE– Dynamic updates without interrupting the service – use
FTP– No more registry! Use XML-based configuration files
• More control with the new security model• Flexible session state management• Many other new features
14
![Page 15: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/15.jpg)
Application Configuration Changes
• ASP.NET application settings are stored in XML configuration files
• Types of configuration files– Machine.config
• Contains machine-wide settings – Web.config
• Contains project- and application-wide settings• Easy programmatic access to the data in these files
15
![Page 16: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/16.jpg)
Security Related Changes• The IIS part of the security remains same• Use security sections in the configuration files• New authentication modes
– Windows, Forms, None
• Authorization modes permit you to control access to resources:– File authorization – URL authorization– Permit and deny users access to the application
16
![Page 17: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/17.jpg)
VBScript vs. Visual Basic .NET
• No VBScript in ASP.NET — it’s all Microsoft Visual Basic® .NET!
• Visual Basic language changes– Option Explicit is now the default– No more “Variant” type — use type “Object”– Method and function calls with parameters now require
parentheses, so change:<% Response.Write "Hi" %>to<% Response.Write ("Hi") %>
– By default, arguments are passed by value– Value types and reference types– Arrays are now zero based
17
![Page 18: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/18.jpg)
Visual Basic Language Changes• Let and Set are not supported, so change:
Set MyObj1 = MyObj2 to MyObj1 = MyObj2
• No more default properties (except for indexed properties), so change:
MyString as string = Textbox1 to MyString as string = Textbox.Text
18
![Page 19: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/19.jpg)
Visual Basic Language Changes• Integer data type is now 32 bits and a Long data
type is 64 bits• Use structured error handling (Try-catch block)
instead of OnError (OnError still works)• Must cast data types explicitly:
Response.Write ("Count=" & CStr(MyCount))
orResponse.Write("Count=" & CType(MyCount, String))
19
![Page 20: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/20.jpg)
Visual Basic Language Changes• Must have spaces around “&” while doing string
concatenation, so change: x = str1&str2
to x = str1 & str2
• Property Get, Property Set, and Property Let are not supported anymore, so instead use:
Public Property MyCount as Integer
Get
MyCount = InternalValue
End Get
Set
InternalValue = value
End Set
End Property 20
![Page 21: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/21.jpg)
Demo
• VB Language Changes
![Page 22: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/22.jpg)
Applications that Use Databases
• Data access changes– ADO and ADO.NET are quite different– ADO.NET is not exactly backward compatible– Three main objects in ADO.NET: DataSet, DataReader, and
DataAdapter– Two built-in managed data providers: SQLClient and OLEDB– Built-in designer support for ADO.NET objects in Visual
Studio .NET• Can be code free
22
![Page 23: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/23.jpg)
• Do I need to write code for different browsers? – No – ASP.NET produces HTML 3.2 compliant
output
• Can I still use ADO from ASP.NET? – Yes – you can use ADO through Interop, but
ADO.NET is preferred
23
ASP to ASP.NET Compatibility FAQ
![Page 24: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/24.jpg)
Demo
• Atlas
![Page 25: ASP.NET 2.0 - Differences Dave Webster EMEA Technical Team dave.webster@microsoft.com blogs.msdn.com/davewebster Microsoft Corporation dave.webster@microsoft.com.](https://reader035.fdocuments.us/reader035/viewer/2022070414/5697c0201a28abf838cd1f2a/html5/thumbnails/25.jpg)
ASP.NET Resources
• ASP.NET Quick Start Tutorials• Authentication in ASP.NET Security• ASP.NET Security• Session State in ASP.NET• ASP.NET Configuration• http://www.gotdotnet.com • http://www.asp.net• http://www.ibuyspy.com• http://msdn.microsoft.com/vstudio/express/
25