
Core ASP.NET Features
A Web application constructed using nothing but static HTML/XHTML is not dynamic and difficult to
maintain. Modern day Web applications dynamically render HTML/XHTML pages on demand to allow for
customized content based on ever-changing data. Earlier technologies, such as ASP or Common Gateway
Interface (CGI), also generated dynamic content. However, they lacked speed, type safety and object
orientation. Enter ASP.NET.
Given that ASP.NET is part of .NET, you can make some basic assumptions regarding the technology. ASP.
NET is built from the ground up using managed code with automatic memory management with garbage
collection. ASP.NET uses the CTS (Common Type System), which includes all the standard .NET types.
ASP.NET applications are JIT (Just In Time) compiled before execution.
ASP.NET uses the object oriented .NET languages: VB, C# and C++. You must leverage all tenets of OO
(Object Oriented) programming (encapsulation, inheritance, and polymorphism) in order to build ASP.NET
Web applications. ASP.NET Web applications are constructed using other key OO .NET features, such as:
inheritance, interfaces, attributes, generics, collections and strong types.
ASP.NET Web applications have full access to all types, namespaces and sub-namespaces in the .NET Base
Class Libraries (BCLs). The System.Windows.Forms namespaces are not useful when building an ASP.NET
Web application, since the UI would be rendered on the Web server - not on the client machine. Any System.
IO namespaces (System.IO, System.IO.Ports, etc) would also be manipulating streams on the Web server.
The System.Drawing namespaces are very useful when building ASP.NET apps. Using Graphical Device
Interface+ (GDI+), you can dynamically create images on the Web server (without saving them) and add them
to the output stream being sent to the client Web browser. Existing COM objects can still be used from ASP.
NET Web applications. Just add a reference to it and the .NET framework automatically creates a .NET
Runtime Callable Wrapper (RCW), allowing you to use it.
Similar to Windows application development, ASP.NET builds upon the request/response Web paradigm by
layering an event-driven model on top of it. This model is well known to Windows application developers.
You can click buttons, change text boxes, select from drop-down list boxes, etc. Each of these controls raises
events. By default, these events are all handled on the server; therefore, no special client-side support is
required. All Web browsers, regardless of capability, can render ASP.NET Web applications. Unlike a
Windows Form, ASP.NET Page objects and their controls are created and destroyed with each and every
Web request/response.
ASP.NET has many features that make Web development easy. Consider the following list:
• ASP .NET supports a technique termed “code-behind”, which allows you to separate your
presentation mark up (HTML) from your presentation logic (C#, VB).
• ASP .NET Web controls automatically maintain their values (state) during the request/response
cycle using a hidden form field called ViewState. This was the developer’s responsibility in earlier
technologies.
• ASP.NET Web applications can be created using any managed language. Using the interoperability
layer, it can use COM libraries.
• ASP .NET Web applications are completely object oriented. You no longer need to examine the
Form or QueryString collection to obtain the values submitted by the client (simply ask the object
for its value).
• ASP.NET Web applications use an Extensible Markup Language (XML) file to hold configuration
settings called Web.config. The easiest way to configure this file is by using the Internet
Information Services (IIS) Manager.
• Visual Studio 2008 offers a true Integrated Development Environment (IDE) that supports a
plethora of features that make development easy, such as server-side and client-side debugging,
breakpoints, IntelliSense and Web project management.
Core ASP.NET Features
Table of Contents
Copyright (c) 2008. Intertech, Inc. All Rights Reserved. This information is to be used exclusively as an
online learning aid. Any attempts to copy, reproduce, or use for training is strictly prohibited.
Courseware
Training Resources
Tutorials
Services