ASPIC et ASP.Net sont des langages de programmation très différents. ASPIC est un langage de script, où ASP.NET est la formulation Web d'un langage compilé (Visual Basic, C #, J #, C ++, .Net). De plus, contrairement à ASP, ASP.NET est un langage orienté objet..
ASP est exécuté sous l'espace de processus inetinfo.exe (IIS) et est donc susceptible de provoquer un blocage de l'application dû à l'arrêt ou au redémarrage d'IIS..
D'autre part, le processus de travail ASP.NET est un processus distinct (aspnet_wp.exe) distinct du processus IIS inetinfo.exe. Le modèle de processus dans ASP.NET n'est pas lié aux paramètres d'isolation de processus dans IIS.
Lorsqu'une page ASP traditionnelle est demandée, le texte de cette page est analysé linéairement. Tout le contenu qui n'est pas un script côté serveur est restitué tel quel à la réponse. Tous les scripts côté serveur de la page sont d'abord exécutés via l'interpréteur approprié (JScript ou VBScript), dont le résultat est ensuite restitué à la réponse..
En revanche, les pages ASP.NET sont toujours compilées dans des classes .NET hébergées dans des assemblys. Cette classe inclut tout le code côté serveur et le code HTML statique. Ainsi, une fois qu'une page est accédée pour la première fois (ou n'importe quelle page d'un répertoire particulier), le rendu ultérieur de cette page est rendu possible par l'exécution du code compilé. Ceci élimine toutes les inefficacités du modèle de script des ASP classiques..
Comme ASP implique des scripts en cours d'interprétation, le débogage est difficile. Mais avec ASP.NET, tous les outils disponibles pour le développeur .NET sont applicables au développeur .aspx. Les erreurs avec les pages sont générées sous la forme d'erreurs de compilation, et il est fort probable que la plupart des erreurs se trouveront au moment de la compilation plutôt qu'à l'exécution, car VB.NET et C # sont des langages fortement typés..