I have seen many tutorials on
ASP.NET but most of them starts with coding and writing your first ASP.NET
Program. But here I have added this article for explaining why there is a
need for ASP.NET when classy ASP is working fine and what is the underlying
technology behind ASP.NET, What programming model ASP.NET Provides to
programmers. Now let us get started.
ASP.NET is the new offering for
Web developers from the Microsoft .It is not simply the next-generation of ASP;
in fact, it is a completely re-engineered and enhanced technology that offers
much, much more than traditional ASP and can increase productivity
Because it has evolved from ASP,
ASP.NET looks very similar to its predecessor—but only at first sight. Some
items look very familiar, and they remind us of ASP. But concepts like Web
Forms, Web Services, or Server Controls gives ASP.NET the power to build real
Looking Back: Active Server Pages (ASP)
Microsoft Active Server Pages
(ASP) is a server-side scripting technology. ASP is a technology that Microsoft
created to ease the development of interactive Web applications. With ASP you
can use client-side scripts as well as server-side scripts. Maybe you want to
validate user input or access a database. ASP provides solutions for
transaction processing and managing session state. Asp is one of the most
successful languages used in web development.
Problems with Traditional ASP
There are many problems with ASP
if you think of needs for Today’s powerful Web applications.
Interpreted and Loosely-Typed Code
ASP scripting code is usually
written in languages such as JScript or VBScript. The script-execution engine
that Active Server Pages relies on interprets code line by line, every time the
page is called. In addition, although variables are supported, they are all
loosely typed as variants and bound to particular types only when the code is
run. Both these factors impede performance, and late binding of types makes it
harder to catch errors when you are writing code.
Mixes layout (HTML) and logic (scripting code)
ASP files frequently combine
script code with HTML. This results in ASP scripts that are lengthy, difficult
to read, and switch frequently between code and HTML. The interspersion of HTML
with ASP code is particularly problematic for larger web applications, where
content must be kept separate from business logic.
Limited Development and Debugging Tools
Microsoft Visual InterDev,
Macromedia Visual UltraDev, and other tools have attempted to increase the productivity
of ASP programmers by providing graphical development environments. However,
these tools never achieved the ease of use or the level of acceptance achieved
by Microsoft Windows application development tools, such as Visual Basic or
Microsoft Access. ASP developers still rely heavily or exclusively on Notepad.
Debugging is an unavoidable part
of any software development process, and the debugging tools for ASP have been
minimal. Most ASP programmers resort to embedding temporary Response. Write
statements in their code to trace the progress of its execution.
No real state management
Session state is only maintained
if the client browser supports cookies. Session state information can only be
held by using the ASP Session object. And you have to implement additional code
if you, for example, want to identify a user.
Update files only when server is down
If your Web application makes use
of components, copying new files to your application should only be done when
the Web server is stopped. Otherwise it is like pulling the rug from under your
application’s feet, because the components may be in use (and locked) and must
Obscure Configuration Settings
The configuration information for
an ASP web application (such as session state and server timeouts) is stored in
the IIS metabase. Because the metabase is stored in a proprietary format, it
can only be modified on the server machine with utilities such as the Internet
Service Manager. With limited support for programmatically manipulating or
extracting these settings, it is often an arduous task to port an ASP
application from one server to another.
ASP.NET was developed in direct
response to the problems that developers had with classic ASP. Since ASP is in
such wide use, however, Microsoft ensured that ASP scripts execute without
modification on a machine with the .NET Framework (the ASP engine, ASP.DLL, is
not modified when installing the .NET Framework). Thus, IIS can house both ASP
and ASP.NET scripts on the same machine.
Here are some points that give
the quick overview of ASP.NET.
- ASP.NET provides services to allow the creation,
deployment, and execution of Web Applications and Web Services
- Like ASP, ASP.NET is a server-side technology
- Web Applications are built using Web Forms. ASP.NET
comes with built-in Web Forms controls, which are responsible for
generating the user interface. They mirror typical HTML widgets like text
boxes or buttons. If these controls do not fit your needs, you are free to
create your own user controls.
- Web Forms are designed to make building web-based
applications as easy as building Visual Basic applications
ASP.NET is based on the
fundamental architecture of .NET Framework. Visual studio provides a uniform
way to combine the various features of this Architecture.
Architecture is explained form
bottom to top in the following discussion.
At the bottom of the Architecture
is Common Language Runtime. NET Framework common language runtime resides on
top of the operating system services. The common language runtime loads and
executes code that targets the runtime. This code is therefore called managed
code. The runtime gives you, for example, the ability for cross-language
.NET Framework provides a rich
set of class libraries. These include base classes, like networking and
input/output classes, a data class library for data access, and classes for use
by programming tools, such as debugging services. All of them are brought
together by the Services Framework, which sits on top of the common language
ADO.NET is Microsoft’s ActiveX
Data Object (ADO) model for the .NET Framework. ADO.NET is not simply the
migration of the popular ADO model
to the managed environment but a completely new paradigm for data access and
ADO.NET is intended specifically
for developing web applications. This is evident from its two major design
Disconnected Datasets—In ADO.NET,
almost all data manipulation is done outside the context of an open database
Effortless Data Exchange with
XML—Datasets can converse in the universal data format of the Web, namely XML.
The 4th layer of the framework
consists of the Windows application model and, in parallel, the Web application
The Web application model-in the
slide presented as ASP.NET-includes Web Forms and Web Services.
ASP.NET comes with built-in Web
Forms controls, which are responsible for generating the user interface. They
mirror typical HTML widgets like text boxes or buttons. If these controls do
not fit your needs, you are free to create your own user controls.
Web Services brings you a model
to bind different applications over the Internet. This model is based on
existing infrastructure and applications and is therefore standard-based,
simple, and adaptable.
Web Services are software
solutions delivered via Internet to any device. Today, that means Web browsers
on computers, for the most part, but the device-agnostic design of .NET will
eliminate this limitation.
One of the obvious themes of .NET
is unification and interoperability between various programming languages. In
order to achieve this; certain rules must be laid and all the languages must
follow these rules. In other words we can not have languages running around
creating their own extensions and their own fancy new data types. CLS is the
collection of the rules and constraints that every language (that seeks to
achieve .NET compatibility) must follow.
The CLR and the .NET Frameworks
in general, however, are designed in such a way that code written in one
language can not only seamlessly be used by another language. Hence ASP.NET can
be programmed in any of the .NET compatible language whether it is VB.NET, C#,
Managed C++ or JScript.NET.
Quick Start: To ASP.NET
After this short excursion with
some background information on the .NET Framework, we will now focus on
File name extensions
Web applications written with
ASP.NET will consist of many files with different file name extensions. The
most common are listed here. Native ASP.NET files by default have the extension
.aspx (which is, of course, an extension to .asp) or .ascx. Web Services
normally have the extension .asmx.
Your file names containing the
business logic will depend on the language you use. So, for example, a C# file
would have the extension .aspx.cs. You already learned about the configuration
Another one worth mentioning is
the ASP.NET application file Global.asax – in the ASP world formerly known as
Global.asa. But now there is also a code behind file Global.asax.vb, for
example, if the file contains Visual Basic.NET code. Global.asax is an optional
file that resides in the root directory of your application, and it contains
global logic for your application.
All of these are text files
All of these files are text
files, and therefore human readable and writeable.
The easiest way to start
The easiest way to start with
ASP.NET is to take a simple ASP page and change the file name extension to
Here is quick introduction of
syntax used in ASP.NET
You can use directives to specify
optional settings used by the page compiler when processing ASP.NET files. For
each directive you can set different attributes. One example is the language
directive at the beginning of a page defining the default programming language.
Code Declaration Blocks
Code declaration blocks are lines
of code enclosed in