Date post: | 06-May-2015 |
Category: |
Technology |
Upload: | amelina-ahmeti |
View: | 3,317 times |
Download: | 3 times |
Server side technologiesASP.Net
Amelina Ahmeti, Sultonmamad, Usman
Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111The slides are licensed under a
Creative Commons Attribution 3.0 License
Commonly used objects The brain:
Client
Server
File and folder
License
Web Technologies2
<html> …</
html>
Can you ask aclever question?
Overview The need for ASP.Net Introduction to ASP.Net .Net Framework .aspx and Code Behind files Page Life Cycle Controls State Management Configuration Files Some Examples ASP.Net v/s PHP
Web Technologies3
Objectives
Introduction to ASP.Net
Basic Advantages
Some Examples
Web Technologies4
ASP – Active Server Pages
Server-side scripts Also client-side scripts Validate user inputs Access database ASP provides solutions for transaction processing and managing
session state. One of the most successful languages for Web development.
1 Introduction5
WHY NOT CONTINUE WITH ASP???
Web Technologies6
Problems with ASP
Interpreted and Loosely typed code Late binding of Variables Uses Jscript or VBScript
Mixes layout (HTML) and logic (scripting code) Frequent switches between HTML and ASP code Hard to separate Content and Business Logic
Limited Development and Debugging Tools Visual InterDev, Macromedia helped Debugging done using “Response.Write()”
1 Introduction7
Problems with ASP No real state management
Process Dependent Server Farm Limitations Cookie Dependent
Update files only when server is down To update components based site you have to stop the server If not Application fails
Obscure Configuration Settings Configurations stored in IIS Metabase Difficult to port application
1 Introduction8
THE RESPONSE – ASP.NET
Web Technologies9
ASP.Net – Issues to Address
Make sure ASP runs fine Since ASP was widely used
Introduction of .Net Framework ASP.DLL not modified while installing framework IIS could run ASP and ASP.Net simultaneously
Overcome the short comings in ASP
1 Introduction10
ASP.Net – Advantages
Separation of Code from HTML Completely separate Presentation from Business Logic
Examples
1 Introduction11
Simple Page with a GridView
Web Technologies12
Markup
Web Technologies13
Code Behind File
Web Technologies14
WHAT’S NEW THEN???
Web Technologies15
Simple Page with a GridView 2
Web Technologies16
Markup
Web Technologies17
Code Behind
Web Technologies18
ASP.Net - Advantages Support for compiled languages
Strong typing OOP Pre-compilation to Byte Code and JIT compilation Subsequent requests directed to cached copy until source changes Mostly used languages are
VB.Net C#
Use services provided by the .NET Framework Class libraries provided for different tasks
Data Access Access to Operating system Input / Output
Debugging made a lot easier
1 Introduction19
ASP.Net - Advantages
Graphical Development Environment Drag and Drop Controls
Set the properties graphically IntelliSense Support
Code (VB.Net/C#) HTML XML
State Management Problems with ASP state management addressed Can be recovered even if connection is lost Discussed in detail later
1 Introduction20
ASP.Net - Advantages
Update files while the server is running! Components could be updated while Application is running Server automatically starts using new version Old version kept in memory until the clients have finished
XML-Based Configuration Files Easy to read and modify Ease in application portability
1 Introduction21
ASP.Net - Overview
Server side technology Web Forms used to build Web Applications Provides services to create and use Web Services Controls
HTML Controls Web Server Control User Controls
Ease of application development
1 Introduction22
.Net - Framework
1 Introduction23
Short Description of Framework
1 Introduction24
ASP.Net - Files
A simple ASP.Net file consists of two files Presentation (.aspx) Code Behind (.aspx.cs for C#)
Web Services have the extension .asmx Configuration Files
Global.asax (also has a code behind file) Optional file containing global logic
Web.config Application Configuration file Allows defining Name, Value pairs that could be accessed by application
1 Introduction25
Execution Cycle
Request aspx page ASP.Net runtime parses file for code to be compiled Generation of Page class (ASP.Net Page)
Instantiates server controls Populates server controls
Rendering of Controls HTML generation by painting of controls
Send the HTML to client browser
1 Introduction26
Execution Process
Compiling the code First time request Code compiled to MSIL(Microsoft Intermediate Language)
Similar to Assembly Language Used to achieve platform independency
Not the target what Microsoft wants CPU independence Efficient conversion to Native code
CLR(Common Language Runtime) compiles the code A copy of Page is Cached
Used until changes are made to the page, and it needs to be compiled again
1 Introduction27
PAGE LIFE CYCLE
1 Introduction28
Page Request
IIS determines what type of request it is. ASP.Net requests are forwarded to ISAPI
Decision is made to either parse or compile the page
Or we could just render an existing copy in the Cache.
Start
ASP.Net Environment is created If the Application has been called first time then the
Application Domain is created Page Objects are created
Request Response Context
Set the IsPostBack property
Initialization
Server Controls on the page are initialized
UniqueID of each control is set Skins are applied to controls
Master Page and themes are applied
Load
ViewState is re-constituted
Controls are loaded with data from ViewState and Control State if this is a PostBack request
PostBack Event Handling
Event handlers for server controls are called.
Validation controls perform their validation on the data in the controls and set IsValid property of each Validation Control and the Page.
Rendering
ViewState is saved for the page and controls.
Page calls the Render method of all the server controls, and they all render themselves on the page.
This rendering is done in the OutputStream object of page’s Response Property, and the HTML output is generated.
Unload
Page specific properties are unloaded Request Response
Clean up is performed.
CONTROLS
ASP.Net Controls
HTML server controls
Web server controls
Validation controls
User controls
HTML Server Controls
HTML elements on an ASP.NET Web page are not available to the server.
treated as opaque text and passed through to the browser.
HTML elements containing attributes that make them programmable in server code.
Web Server Controls
A second set of controls designed for a different emphasis Do not necessarily map one-to-one to HTML server controls
Defined as Abstract controls
Have more built-in features than HTML controls e.g. Calendar, Menus etc.
Validation Controls
Do client side validation like Input required for a text box Test against a specific value Test a specific pattern for input Whether a value lies within some range Etc.
User Controls
Controls created by the User as ASP.Net webpages
Can be embedded in other pages
Re-usability and Power to User.
POST BACK, VIEW STATE AND SESSION CONTROL
Post Back
Server controls
Post Back to the same page
Server control initiated request
View State
Persist state across PostBacks (Same Page)
Programmatic changes to the page's state
No free lunches Cost of ViewState
Extra time in rendering
Preserving Data Across Pages
Session InProc StateServer SqlServer
Cookies QueryString Cookie Independant
CONFIGURATION FILES
Web Technologies46
Global.asax
Declare application level Events and Objects Code for events like
Application Start Application End
Since this code cannot be places in application itself Also used for Application and Session State Management Compiled just like any other ASP.Net page
Subsequent compiles made on changes
Web Technologies47
Web.config
Stores configuration information in XML format
Optional
Allows for creating Name, Value pairs that could be accessed by the web application to apply configurations
Portable
Web Technologies48
COMPARISON WITH PHP
Web Technologies49
Believed that PHP is faster No proof available
ASP.Net is a platform C#/VB.Net used for server operation ASP.Net provides controls and designing tools PHP contains scripting tags, and no controls
Cost Microsoft Platform
Platform Compatibility CLR but not IIS
Web Technologies50
Database connectivity PHP used for DB connectivity ASP.Net uses Framework to access DB
Object Oriented Design ASP.Net is built on OOP paradigm PHP supports minimal level OOP
Compilation PHP
HTML and PHP to Zend Opcodes Zend Engine generates HTML
ASP.Net MSIL Page Rendering
Web Technologies51
Web Server PHP
Runs on both IIS and Apache, hence platform independent ASP.Net
Runs only on IIS Data Security
ASP.Net has enhanced and enriched features PHP lesser features
Propriety PHP is open source ASP.Net is Microsoft Product
Some new tools like in AJAX are open source
Web Technologies52
Summary
Web Technologies53
Outlook
Web Technologies54
References www.w3schools.com www.codeproject.com msdn.microsoft.com
1 Introduction55