ASP.NET Publicada el Lunes 27 de Marzo de 2006 a las 3:36 pm por hecgo
En el artículo anterior ya explicamos de manera general lo que es la plataforma .NET y el .NET Framework, esto nos servirá como base para hablar ahora de ASP.NET, una de las interfaces Web de la plataforma .NET.
Todas las explicaciones y ejemplos que utilizaré son basados en ASP.NET 1, que utiliza el .NET Framework 1.1. No entraré en detalles por el momento en ASP.NET 2 que utiliza el .NET Framewrok 2 (Visual Studio 2005, SQL Server 2005, etc, etc).
Como ya platicamos, antes del lanzamiento de .NET, existía ASP (hoy conocido como ASP clásico o tradicional), que básicamente eran scripts de Visual Basic en páginas HTML ejecutadas por IIS.
Diferencias entre ASP y ASP.NET
Con un entendimiento previo del .NET Framework, rápidamente podemos darnos cuenta de que ASP.NET es radicalmente diferente a su predecesor. ASP.NET hace uso de características como el Common Language Runtime (CLR), independencia del lenguaje de programación, las librerias del .NET Framework, herramientas de “debuggeo”, etc.
En ASP.NET, sea cual sea el lenguaje que utilices para programar (C#, C++, J#, VB.NET, etc), estas obligado a utilizar el paradigma de Programación Orientada a Objetos (OOP), a diferencia de ASP clásico o PHP (o inclusive Action Script de Flash) en los que no es necesario (aunque sí posible) utilizar OOP, ya que siendo scripts puedes escribir el código como quieras. Esto suele ser intimidante para algunos principiantes, ya que los conceptos de OOP no se aprenden tan fácil o rápido como cuando creas una página en PHP, pero sin duda cuando llegas a dominarlos se abre un nuevo mundo de posibilidades.
En cuanto a la implementación de una aplicación construida sobre ASP.NET, es posible general archivos de instalación o “setups” (*.msi) que permiten una instalación rápida y sencilla aún utilizando componentes avanzados o integración con otras aplicaciones o productos.
Garbage Collection. Uno de los problemas que siempre se tenían con ASP clásico, era que por errores y malas prácticas, los programadores dejaban abiertos objetos de servidor sin cerrarlos al dejar de utilizarlos (el ejemplo de siempre es un RecordSet). ASP.NET incluye este elemento que cada determinado tiempo, recorre la memoria del servidor en busca de objetos inutilizados para destruirlos automáticamente (Obviamente como programador debes evitar este tipo de errores). ASP.NET utiliza el Garbage Collector automáticamente.
ASP.NET provee diferentes modelos de seguridad. Es posible proteger toda una aplicación o un portal del cientos de páginas con un sencillo cambio en un archivo de configuración utilizando por ejemplo Forms Authentication (de lo que hablaremos en su oportunidad) sin tener que lidiar directamente con sesiones o cookies.
Visual Studio .NET (2002, 2003 y ahora 2005 que utiliza el .NET Framework 2) es la mejor IDE para trabajar con aplicaciones ASP.NET, ya que ofrece características avanzadas como el debuggeo y la administración de diferentes proyectos de manera sencilla, pero también es posible utilizar el poderosísimo NotePad para codificar las páginas ASP.NET o inclusive DreamWeaver; en general cualquier editor de textos.
Code Behind & Inline Code
En ASP.NET se puede manejar el código de servidor de 2 formas:
Code Behind agrega un archivo extra asociado al archivo aspx que contiene el HTML. Este archivo extra contiene todo el código que utiliza la página. La idea de esto es poder tener separada la lógica de programación del diseño o look&feel. Ejemplo:
Archivo aspx (html):

Archivo aspx.cs (código en C#):

In Line Code en cambio, permite tener el código en el mismo archivo aspx, justo como en ASP clásico:

| Code Behind | Inline Code | |
|---|---|---|
| Un detalle importante a considerar, es que regularmente los servicios de hosting gratuitos para ASP.NET no permiten el modelo de Code Behind, porque es necesario instalar DLL’s en el server y obviamente eso en un ambiente no controlado como un hosting gratuito, tiene serias implicaciones de seguridad. | ||
| El HTML y los controles estan en el archive aspx, el código en un archive separado, regularmente *.aspx.cs (C#) o *.aspx.vb (VB.NET). | El código esta dentro de una TAG en el archivo .aspx junto con el resto del HTML. | |
| Todos los archivos de código son compilados dentro un archivo *.dll, el cual tiene que instalarse en el server, con esto no se tiene que instalar el código fuente de las páginas. Cada vez que una página ASP.NET es solicitada, se crea una nueva instancia de la DLL. | Las páginas solamente se tienen que copier al directorio correspondiente en el Web Server, del mismo modo que en ASP clásico. | |
¿Qué necesito para crear páginas ASP.NET?
Las páginas ASP.NET se pueden ejecutar en cualquier PC con IIS 5 (o superior), esto es, Windows 2000 con el .NET Framework instaldo (en cualquiera de sus sabores), Windows 2003 (esta versión ya trae el .NET Framework desde el core) o Windows XP con IIS6 y el .NET Framework (WXP Pro lo trae, para tener IIS6 en WinXP Home hay ciertos trucos). Regularmente los discos de instalación de Visual Studio traen todo lo necesario si a tu equipo le falta algo.
Desde noviembre del 2005 esta disponible Visual Studio 2005, que en realidad es la IDE para desarrollar ASP.NET 2, y en general todas las tecnologías del .NET Framework 2.
ASP.NET y Linux
Así es, desde hace varios años existe el proyecto “MONO”, que busca poder crear una versión del .NET Framework que se pueda ejecutar sobre Linux. Esta implementación esta basada en los standares ECMA de C# y del CLR para asegurar que el codigo funcione igual en Linux o Windows y ya esta disponible para descargarse.
Así que si eres “pingüino” tienes 2 opciones por el momento para utilizar ASP.NET:
- El módulo “mod_mono” para Apache
- XSP, un Web Server escrito en C#
Y bueno, esto ha sido una breve introducción a ASP.NET que espero haya sido útil para aclarar muchos conceptos y el funcionamiento de esta tecnología. Por el momento creo que es suficiente para una introducción rápida al ASP.NET. Próximamente terminaremos de ver el detalle de esta introducción.

angel avila
Julio 28, 2006 a las 12:28 pm
Los felicito por este artículo, puesto que se puede aprender mejor efectuando comparaciones, en este caso,asp y asp.net.
Actualmente programo en JSP, pero ahora estoy aprendiendo a usar esta herramienta, la cual creo que me permitiría desarrollar aplicaciones muy funcionales.
rod
Abril 9, 2007 a las 12:03 pm
Saludos, quisiera saber como se hace una pagina asi como esta que para un usuario comun y corriente como yo me parece magnifica y no creo sea muy complicada de crear, por favor menciona como se puede hacer una asi con el wordpress
rarck
Diciembre 16, 2007 a las 2:57 pm
no manches me parece muy bueno este aporte en mi caso en lo particular quiero aprender a diseñar y a utilizar toda clse de estos programas
pronto quiero hacer un blog o una pagiana
gracias