Microsoft.NET

……………………………………………….Expertise in .NET Technologies

Introducing ASP.NET

Posted by Ravi Varma Thumati on March 18, 2009

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.

What is ASP.NET? How is it different from VB.NET or C#?

Many new programmers are confused about how ASP.NET is different from C# or VB.NET. Many new programmers’ miss-understand that ASP.NET is just another programming language.

What is ASP.NET?

  1. ASP.NET is the name of the Microsoft technology used for web site development.
  2. ASP.NET is NOT a programming language like C# or VB.NET
  3. ASP.NET development requires a programming language like C# or VB.NET to write code.
  4. ASP stands for Active Server Pages.
  5. There are several other technologies exist for web development (Eg: PHP). ASP.NET is the technology from Microsoft and it he widely used one.
  6. ASP.NET technology comes with a rich set of components and controls that make the web development very easy.
  7. Visual Studio .NET is the editor from Microsoft which helps you develop ASP.NET web sites faster and easily.
  8. IIS is the web server from Microsoft which supports ASP.NET. To develop ASP.NET web sites, you must have IIS installed in your computer.

In ASP.NET programming, a web page is developed using HTML and a .NET programming language like C#, VB.NET or J#. You can choose your favorite .NET language to develop ASP.NET pages. So, now you must be clear that ASP.NET is not a programming language and it requires a language like C# or VB.NET to develop ASP.NET web sites.

ASP.NET 1.0 and 1.1

Microsoft’s .NET framework introduces a whole new way of programming the Microsoft platform. Microsoft developers are primarily concerned with threads and memory (that’s basically the API programming model). This model carried over to all areas of development, including Web development, placing a heavy burden upon programmers.

ASP.NET introduces runtime services and a well-engineered class library for greatly enhancing Web development. In a way, classic ASP was sort of “taped onto” the IIS/ISAPI architecture without any real organic thought as to how early design decisions would affect developers later on. Well, now it’s later on and classic ASP. Net’s warts have become fairly obvious.

ASP.NET is built from the ground up to be an extensible, feature-rich way to handle HTTP requests. ASP.NET leverages IIS in that requests for ASP.NET services are mapped to an ISAPI DLL. The DLL is named ASPNET_ISAPI.DLL. From there, processing is passed into a worker process provided by ASP.NET (ASPNET_WP.EXE in IIS 5 or W3WP.EXE in IIS 6). The fundamental request processing is handled by managed types within the worker process. Control passes between a number of classes plugged into the pipeline—some provided by Microsoft and/or third parties, and some provided by the developer. What’s more, ASP.NET is built from the ground up to be a comprehensive framework for writing Web applications. All the parts of the framework execute together to handle requests. By contrast, classic ASP.NET script code had no structure to it, and code logic within applications tended to be ad hoc.

ASP.NET 1.0 and 1.1 provided a significant number of features, including:

  • An object-oriented framework for defining applications
  • Separation of user interface declarations (HTML) and application logic
  • Compiled code for executing application logic
  • Configurable session state management
  • Built-in data caching
  • Built-in content caching
  • A well-defined UI componentization architecture
  • High-level components for managing data formatting (grids, lists, text boxes)
  • Built-in program tracing and diagnostics
  • Built-in user input validation
  • An easy-to-use custom authentication mechanism
  • Solid integration with ADO.NET (the .NET database story)
  • Excellent support for Web Services
  • Zero reliance on the Component Object Model
  • An extensible pipeline with many places in which a request can be intercepted

ASP.NET 1.0 set the stage for many developers both moving into Web development and moving to the Microsoft Platform.

ASP.NET 2.0

ASP.NET 2.0 builds upon ASP.NET 1.0 and 1.1 by providing a number of new features in addition to what already existed with ASP.NET 1.0. These features include

  • Master Pages and Skins
  • Declarative data binding
  • Provider pattern model
  • New cache features
  • Membership controls
  • Personalization controls
  • Support for Web Parts
  • Programmable configuration
  • Administration tools
  • New compilation model

All the features of ASP.NET 1.0/1.1 are still there. However, these new features make ASP.NET an even more compelling platform for creating Web sites.

ASP.NET 3.5

The primary features introduced by ASP.NET 3.5 include support for Asynchronous Java and XML (AJAX)-style programming and support for Windows Communication Foundation (WCF). In addition, the support for ASP.NET within Visual Studio has increased dramatically. The designer has improved significantly, and Visual Studio includes new templates for generating AJAX and WCF applications.

How browsers understand ASP.NET web pages?

There are several technologies exist to develop dynamic web sites and pages. Some of them are ASP, ASP.NET, and PHP etc.

Whatever technology you use to develop the dynamic web pages, a standard browser should be able to display the page to the visitors.

How browsers understand ASP.NET or PHP pages?

If visit any web site, no matter what technology is used to develop the site, your browser will be able to display the page for you.

The only thing a browser can understand is “HTML”. It does not know ASP.NET or PHP. So, even if your web site is developed using ASP.NET, still your browser can understand only HTML.

This is how it works:

You type a URL in your browser.

(Eg: http://www.aspsamples.com/tutorials/Tutorials.aspx?TutorialId=61)

Your browser will compose a request for this page and send to the web server in internet.
The web server analyzes the request and it understands that the request is for an ASP.NET page called “Tutorials.aspx”. So, the web servers hand over the request to the aspnet service running as part of the web server. (If the page is a .php file, then there must be a php service running on the webserver).

The aspnet service loads the page “Tutorials.aspx”. Inside this page, we have written code to read the TutorialId passed as a parameter (parameters are called “Query String”). Our code gets this tutorial id and then retrieves the corresponding content from the database. Then our code embeds this content into the page and returns the dynamically modified page content to the web server.

Web server returns the dynamically generated page to the browser. This dynamically generated page has only HTML in it, even though this html came from database.

When the browser receives the page, it has only HTML. So, as far as a browser is concerned, it does not care what type of web site it is. It can be any technology like ASP.NET or PHP. It is the responsibility of the web server to generate dynamic content from database or wherever and give only HTML page content to the browser.

Other than HTML, what else browsers understand

We said that browsers understand only HTML. That is not fully true. Modern browsers understand something more than HTML, like JavaScript, Flash etc.

How ASP.NET is converted to HTML?

You can use web development technologies like ASP.NET, PHP etc to develop web sites. But what is happening behind the scenes is, the above technologies are used to dynamically generate html. What is sent from web server to the browser is just plain html. That why browsers are able to display web pages developed using ASP.NET

Whatever technology you use to develop web pages, what is sent from server to browser is just plain html. Depending on various conditions, ASP.NET generate different html.

If you have NOT logged in to this site, you can see a link called “Login” in the top left corner. If you are logged in, you will see Welcome Tony. (You will see your name instead of TONY, but I am using my name for this example)

We use ASP.NET to determine weather user has logged in or not. If logged in, then our ASP.NET code will generate the following html:

<a href=ViewProfile.aspx?UserId=tony>Welcome TONY !</a>

If the user is NOT logged in, then our ASP.NET code will generate the following HTML:

<a href=Login.aspx>Login</a>

Did you notice that the above samples show plain html? Depending on various conditions, ASP.NET generates appropriate HTML. This is what sent to browsers. You can right click on in any web page and select View Source to see the actual HTML. Try to see the source html of this page.

Browsers always see plain html (the same html you see by Right click -< View Source). They don’t care how the html is generated, what is the technology or programming language (ASP or ASP.NET or PHP) used to generate those htmls etc. . . . Even if some other company comes up with a new technology for web development, all browsers will still work as long as those technologies generate proper html.

This is the fundamental concept behind web development. It is very important to understand this concept clearly before you proceed with ASP.NET programming.

Advertisements

One Response to “Introducing ASP.NET”

  1. Brandon said

    Awesome Blog thank you. After the Design and Development of the website comes SEO. If you would like to share a software that helps with off site seo reporting check out http://www.mofikiworldwide.com/mofikis_seo_analyzer.php and thank you for this blog.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: