Virtual Classes Logo          Virtual Classes
    Read Anytime,Anywhere

ASP.NET is a web application framework developed by Microsoft to build web applications with the use of full featured programming language such as C# or VB.NET.

Active Server Pages (ASP),also known as Classic ASP, was introduced in 1998 by Microsoft as first server side scripting engine.
ASP is a technology that enables scripts in web pages to be executed by an Internet server. ASP pages have the file extension .asp, and are normally written in VBScript.
So question arises here is that, why Microsoft has introduced ASP.NET if ASP is already there to build web application? There were few problems (mentioned below) with ASP due to which microsoft has introduced ASP.NET.
Problems with Classic ASP
If we compare ASP with today's Web applications requirement,There are many problems with ASP-
1-Interpreted Code : ASP script-execution engine interprets the code line by line,every time the page is called.
So, ASP applications suffer the performance issues.
2-Mixes layout (HTML) and logic (scripting code) : ASP combines script code and HTML in a single fine. This results ASP page become lengthy, difficult to read, and switch frequently between code and HTML. Combining the HTML with code creates problems because a single file has both HTML code and business logic. In some applications content must be kept separate from business logic.
3- Limited Development and Debugging Tools : Althought Microsoft has provided Microsoft Visual InterDev, Macromedia Visual UltraDev, and other tools have attempted to increase the productivity of ASP programmers,but these tools never achieved the ease of use. In Software development debugging is an unavoidable part and Most ASP programmers write statements in their code to trace the progress of its execution.
4-State management : In ASP, state can be maintained only if the client browser supports cookies.

To fix the above issue and to support dynamic web development Microsoft has introduced ASP.NET
Since ASP is in wide use, so Microsoft has 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 host both ASP and ASP.NET scripts on the same machine. ASP.NET is an next generation of ASP. ASP.NET pages are compiled, which makes them faster than Classic ASP. .NET is language independent, which means you can use any .NET supported language to make ASP.NET applications and are normally written in VB (Visual Basic) or C# . ASP.NET pages have the extension .aspx.

Advantages of ASP.NET
1- Separation of HTML and Code :ASP.NET provides you the ability to separate HTML and business business code(although you can mix HTML and business code in a single file but it is not adviced). This makes easier for UI developer and programmer to work collaborate and efficiently.
2- ASP.NET is compiled : ASP.NET pages are compiled to byte-code when first requested and subsequent requests are directed to the fully compiled code, which is cached until the source changes.
When a browser requests an ASP.NET file, the ASP.NET engine reads the file, compiles and executes the scripts, and returns the result to the browser as plain HTML. This is one of the main differences between ASP.NET and Classic ASP.
In ASP.NET the code is compiled, while in Classic ASP code is always interpreted.
3-Rich set of Controls :ASP.NET provides a very rich set of controls for development for Web developers. You can drag and drop controls and set properties the way you do in Visual Basic 6.
4-State management : In ASP, state can be maintained only if the client browser supports cookies but ASP.NET application doesn't depend on client browser cookies to maintain state.
ASP.Net has provided session and application state management technique where State information can be kept in memory or stored in a database.
5-XML-Based Configuration Files : Configuration settings for ASP.NET application are stored in XML files that you can easily read and edit. ASP.NET has provided Global.asax, web.config and machine.config for application setting configuration.

Click on links in right hand side to understand each ASP.NET concepts clearly.