Introduction to ASP .NET

Introduction to ASP .NET
Prehistory of ASP .NET
• Original Internet – text based
• WWW – static graphical content  HTML
• Need for interactive and animated content
 Javascript (client-side)
• Need for database-driven web sites  CGI,
ASP, JSP, PHP, ColdFusion (server-side)
About Processing on the Web
• Hypertext Transfer Protocol (HTTP)
• Request-Response Model
• Statelessness of the web
browser builds an HTTP
request and sends it
to the IP address indicated
by the URL.
Web server
Web server on the
destination host machine
(identified by IP address)
receives the request and,
after any necessary
processing, the requested
file is returned.
Web Server
• Running on Host
– In Microsoft world this is Internet Information
Server (IIS)
• Linux  Apache
– With ASP and .NET Framework, IIS can
produce dynamic content (automaticallygenerated
Technologies for Server Side
CGI – Common Gateway Interface
Java Server Pages (JSP), Java Servlets
ActiveX Server Pages (ASP)
PHP Preprocessor (PHP)
Server-side processing enables 3-tier architectures
Three-Tier Architectures
• Three layers:
– Client
– Application server
– Database server
GUI interface
(I/O processing)
Business rules
Data storage
(with HTML/Javascript)
Web Server
(with ASP .NET)
Thin Client
PC just for user interface and a little application
processing. Limited or no data storage (sometimes no
hard drive)
Three-tier architecture
Business rules on
separate server
DBMS only on
DB server
Problems with Old ASP
• Code mixing (HTML, Javascript, VBScript
inline)  hard to understand and maintain
• Interpreted  no compiled ahead of time, slows
• ASP .NET allows for both code separation and
pre-compiled processing
• Same is true with PHP and JSP
– Frameworks exist for both to enable code separation
ASP .NET’s improvements over
old ASP
More object-oriented and event-driven
Multiple Language Support (VB, C#, C++, JScript.NET)
can separate HTML code (display) from VB/C# code (server side processing) through use of
server or user controls
use of code-behind files
Smart Code Output
“automatic HTML-generators”
Code Separation Support
via Common Language Runtime
other languages can be added to the list
Powerful control objects (server controls, user controls)
robust class library
ability to create more efficient and reusable code
automatic generation of browser/device compatible output
use of form validation controls
Deployment - easier administration of web sites
simplicity in installing components
Use of web.config file for configuration
and bin directory for Assemblies (DLLs)
.NET Framework Terms
• NET Framework – software framework that runs primarily on
Microsoft Windows.
– Framework –
• Common Language Runtime (CLR) – run time environment
that provides the underlying infrastructure for Microsoft's .NET
framework (pp17-18)
• Assembly – a .dll file (dynamic link library) that contains executable
code compiled for the CLR (pp14-17)
These compilers generate managed code. Managed
code is code that is run within the Common
Language Infrastructure (CLI).
Common Intermediate Language
(CIL) is like Java’s bytecode
Common Language Runtime (CLR) is
like Java’s virtual machine
Virtual Execution System (VES) is the “simulated
CPU” upon which the CLR operates.
Note: Visual C++ can compile into either managed or unmanaged code.
Unmanaged code is compiled directly to the machine language of the
CPU, and is not part of the CLR