ASP vs. ASP.Net

ÁSPID y ASP.Net son lenguajes de programacion muy diferentes. ÁSPID es un lenguaje de scripting, donde como ASP.NET es la formulación web de un lenguaje compilado (Visual Basic, C #, J #, C ++, .Net). Además, a diferencia de ASP, ASP.NET es un lenguaje orientado a objetos..

Contenido: ASP vs ASP.Net

  • 1 aislamiento del proceso
  • 2 Interpretación vs. Compilación
    • 2.1 Implicaciones de rendimiento
  • 3 depuración
  • 4 referencias

Aislamiento de procesos

ASP se ejecuta bajo el espacio de proceso inetinfo.exe (IIS) y, por lo tanto, es susceptible a bloqueos de aplicaciones debido a que IIS se detiene o reinicia.

Por otro lado, el proceso de trabajo de ASP.NET es un proceso distinto (aspnet_wp.exe) separado del proceso de IIS inetinfo.exe. El modelo de proceso en ASP.NET no está relacionado con el proceso de configuración de aislamiento en IIS.

Interpretación vs. Compilación

Cuando se solicita una página ASP tradicional, el texto de esa página se analiza de forma lineal. Todo el contenido que no sea un script del lado del servidor se procesa como está de nuevo en la respuesta. Todas las secuencias de comandos del lado del servidor en la página se ejecutan primero a través del intérprete apropiado (JScript o VBScript), cuya salida luego se devuelve a la respuesta.

En contraste, las páginas ASP.NET siempre se compilan en clases .NET alojadas en ensamblajes. Esta clase incluye todo el código del lado del servidor y el HTML estático, por lo que una vez que se accede a una página por primera vez (o se accede a cualquier página dentro de un directorio en particular), la representación posterior de esa página se maneja ejecutando el código compilado. Esto elimina todas las ineficiencias del modelo de scripting de ASP tradicional..

Implicaciones de rendimiento

  • Dado que los scripts ASP se interpretan sobre la marcha, hay un impacto en el rendimiento. Por lo tanto, una optimización común para las aplicaciones ASP es mover muchos scripts del lado del servidor a componentes COM precompilados para mejorar los tiempos de respuesta. Dado que todos los componentes en ASP.NET son ensamblajes, no hay una degradación del rendimiento al usar el código del lado del servidor.
  • Con ASP, la mezcla de bloques de evaluación del lado del servidor con HTML estático es menos eficiente que un solo bloque de script del lado del servidor, ya que el intérprete debe invocarse varias veces. Para evitar esto, muchos desarrolladores de ASP recurren a grandes bloques de secuencias de comandos del lado del servidor, reemplazando elementos estáticos de HTML con las invocaciones Response.Write () en su lugar. Para ASP.NET, estos pasos no son necesarios para mejorar el rendimiento.
  • ASP permite que diferentes bloques de script dentro de una página se escriban en diferentes lenguajes de scripting. Si bien esto puede ser atractivo de alguna manera, también degrada el rendimiento al requerir que una página en particular cargue ambos motores de secuencias de comandos (JScript, VBScript) para procesar una solicitud, lo que requiere más tiempo y memoria que usar un solo idioma. ASP.NET tiene "código subyacente" en los archivos .aspx que se analizan y compilan. No se pueden usar múltiples idiomas del lado del servidor dentro de un solo archivo .aspx.

Depuración

Dado que ASP implica que los scripts se interpretan, la depuración es difícil. Pero con ASP.NET, todas las herramientas disponibles para el desarrollador .NET son aplicables al desarrollador .aspx. Los errores en las páginas se generan como errores del compilador, y existe una gran posibilidad de que la mayoría de los errores se encuentren en el momento de la compilación en lugar del tiempo de ejecución, ya que tanto VB.NET como C # son lenguajes muy tipificados..

Referencias

  • wikipedia: Páginas Active Server
  • wikipedia: ASP.NET