ASP and ASP.Net are very different programming languages. ASP is a scripting language, where as ASP.NET is the web formulation of a compiled language (Visual Basic, C#, J#, C++, .Net). Moreover, unlike ASP, ASP.NET is an object-oriented language.

Process Isolation

ASP is run under the inetinfo.exe(IIS) process space and is therefore susceptible to application crashes due to IIS being stopped or restarted.

On the other hand, the ASP.NET worker process is a distinct process (aspnet_wp.exe) separate from the IIS process inetinfo.exe. The process model in ASP.NET is unrelated to process isolation settings in IIS.

Interpretation vs. Compilation

When a traditional ASP page is requested, the text of that page is parsed linearly. All content that is not server-side script is rendered as-is back to the response. All server-side script in the page is first run through the appropriate interpreter (JScript or VBScript), the output of which is then rendered back to the response.

In contrast, ASP.NET pages are always compiled into .NET classes housed within assemblies. This class includes all of the server-side code and the static HTML, so once a page is accessed for the first time (or any page within a particular directory is accessed), subsequent rendering of that page is serviced by executing compiled code. This eliminates all the inefficiencies of the scripting model of traditional ASP.

Performance Implications


Since ASP involves scripts being interpreted, debugging is difficult. But with ASP.NET, all the tools available to the .NET developer are applicable to the .aspx developer. Errors with pages are generated as compiler errors, and there is a good chance that most errors will be found at compilation time instead of runtime, because VB.NET and C# are both strongly typed languages.


Share this comparison:

If you read this far, you should follow us:

"ASP vs ASP.Net." Diffen LLC, n.d. Web. 23 Sep 2016. < >