2. DEFINICIÓN ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir código ASP.NET usando cualquier lenguaje admitido por el .NET Framework. Cualquier persona que esta familiarizada con el desarrollo de aplicaciones web sabrá que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación para aplicaciones de uso común está muy bien establecido y soportado por un gran número de lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el desarrollo tradicional de aplicaciones.
3. CARACTERÍSTICAS DEL ASP.NET PÁGINAS Las páginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construcción para el desarrollo de aplicaciones web. Los formularios web están contenidos en archivos con una extensión ASPX; en jerga de programación, estos archivos típicamente contienen etiquetas HTML o XHTML estático, y también etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el código estático y dinámico requerido por la página web. Adicionalmente, el código dinámico que se ejecuta en el servidor puede ser colocado en una página dentro de un bloque <% -- código dinámico -- %> que es muy similar a otras tecnologías de desarrollo como PHP, JSP y ASP, pero esta práctica es, generalmente, desaconsejada excepto para propósitos de enlace de datos pues requiere más llamadas cuando se genera la página. ASP.NET Es limitado a solo funcionar con IIS, por lo que su uso es cuestionado por la mayoría de los programadores web quienes prefieren otros lenguajes de programación del lado del servidor como por ejemplo PHP, Perl, Java Etc.
4. EL MODELO CODE-BEHIND Microsoft recomienda que para realizar programación dinámica se use el modelo code-behind, o de respaldo, que coloca el código en un archivo separado o en una etiqueta de script especialmente diseñada. Los nombres de los archivos code-behind están basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta práctica se realiza automáticamente en Microsoft Visual Studio y otras interfaces de desarrollo). Cuando se usa este estilo de programación, el desarrollador escribe el código correspondiente a diferentes eventos, como la carga de la página, o el clic en un control, en vez de un recorrido lineal a través del documento. El modelo code-behind de ASP.NET marca la separación del ASP clásico y alienta a los desarrolladores a construir aplicaciones con la idea de presentación y contenido separados en mente. En teoría, esto permite a un diseñador web, por ejemplo, enfocarse en la creación del diseño con menos posibilidades de alterar el código de programación mientras lo hace. Esto es similar a la separación en el Modelo Vista Controlador
5. CONTROLES DE USUARIO ASP.NET permite la creación de componentes reutilizables a través de la creación de Controles de Usuario (User Controls). Un control de usuario sigue la misma estructura que un formulario web, excepto que los controles derivan de la clase System.Web.UI.UserControl, y son almacenados en archivos ASCX. Como los archivos ASPX, un ASCX contiene etiquetas HTML o XHTML, además de etiquetas para definir controles web y otros controles de usuario. También pueden usar el modelo code-behind. Los programadores pueden agregar sus propias propiedades y métodos,[9] y manejadores de eventos. Un mecanismo de eventos en burbuja proporciona la capacidad de pasar un evento disparado por un control de usuario a la página que lo contiene. ADMINISTRACIÓN DEL ESTADO Las aplicaciones ASP.NET son alojadas en un servidor web y se tiene acceso a ellas mediante el protocolo sin estado HTTP, que no guarda ninguna información sobre conexiones anteriores. Por lo tanto, si la aplicación requiere interacción entre conexiones, tiene que implementar su propia administración del estado. ASP.NET proporciona varias maneras de administrar el estado de las aplicaciones ASP.NET.
6. ESTADO DE LA APLICACIÓN El estado de la aplicación (Application state) es una colección de variables definidas por el usuario que son compartidas por todas las invocaciones de una aplicación ASP.NET. Estos son establecidas e inicializadas cuando el evento Application_OnStart se dispara en la carga de la primera instancia de las aplicaciones y están disponible hasta que la última instancia termina. Las variables de estado de la aplicación son identificadas por nombres. ESTADO DE LA SESIÓN El estado de la sesión (Session state) es una colección de variables definidas por el usuario, las cuales persisten durante la sesión de un usuario. Estas variables son únicas para diferentes instancias de una sesión de usuario, y son accedidas usando la colección Session. Las variables de sesión pueden ser preparadas para ser automáticamente destruidas después de un determinado tiempo de inactividad, incluso si la sesión no ha terminado. Del lado del cliente, una sesión de usuario es identificada por una cookie o codificando el ID de la sesión en la misma URL.
7.
8. Cuando utilice el control SqlDataSource, determine el proveedor que necesita. Un proveedor es una clase que se comunica con un tipo específico de base de datos. El valor predeterminado es el proveedor System.Data.SqlClient, que se conecta a una base de datos de Microsoft SQL Server.
13. Un servidor SMTP para enviar mensajes de correo electrónico de una aplicación Web ASP.NET.Entornos de creación de código Puede crear clases y páginas ASP.NET utilizando cualquier editor de texto, como el Bloc de notas de Microsoft, que se suministra con Microsoft Windows. Sin embargo, Microsoft Visual Studio y otros entornos de desarrollo integrados (IDE) proporcionan muchas características de programación, como plantillas de página, IntelliSense, llenado automático de código y compilación en tiempo de diseño. Servidores Web Para trabajar con una aplicación Web ASP.NET, debe utilizar un explorador para realizar solicitudes al servidor Web que aloja la aplicación. Las aplicaciones Web ASP.NET se alojan normalmente utilizando IIS como servidor Web. Puede probar las aplicaciones ejecutando IIS localmente en el equipo o implementar páginas y componentes en un servidor compartido.
14.
15. Objetos Básicos empleados en las Paginas ASP.NET SqlConnection Un objeto SqlConnection representa una única sesión con un origen de datos de SQL Server. Con un sistema de bases de datos de cliente y servidor, equivale a una conexión de red al servidor. SqlConnection se utiliza junto con SqlDataAdapter y SqlCommand para aumentar el rendimiento de la conexión a una base de datos de Microsoft SQL Server. Con productos SQL Server de otros proveedores y otros orígenes de datos compatibles con OLE DB, se debe utilizar OleDbConnection. Cuando se crea una instancia de SqlConnection, se establecen todas las propiedades en sus valores iníciales. Para obtener una lista de esos valores, vea el constructor SqlConnection. Si la conexión SqlConnection está fuera de ámbito, permanecerá abierta. Por tanto, debe cerrar la conexión explícitamente mediante una llamada al método Close o Dispose. Close y Dispose tienen una funcionalidad equivalente. Si el valor de agrupación de conexiones Pooling se establece en true o yes, la conexión subyacente se devuelve al grupo de conexiones. Por otro lado, si Pooling se establece en false o no, la conexión subyacente al servidor se cerrará.
16. SqlDataAdapter SqlDataAdapter, se utiliza como un puente entre DataSet y SQL Server para recuperar y guardar datos. SqlDataAdapter proporciona este puente mediante la asignación de Fill, que cambia los datos en DataSet para que coincidan con los datos del origen de datos; y Update, que cambia los datos en el origen de datos para que coincidan con los datos en DataSet utilizando las instrucciones de Transact-SQL en el origen de datos adecuado. Cuando SqlDataAdapter rellene un objeto DataSet, creará las tablas y columnas necesarias para los datos devueltos si todavía no existen. Sin embargo, la información de clave principal no se incluirá en el esquema creado implícitamente a menos que la propiedad MissingSchemaAction se establezca en AddWithKey. También se puede hacer que SqlDataAdapter cree el esquema de DataSet, incluida la información de clave principal, antes de rellenarlo de datos mediante el método FillSchema. Para obtener más información, vea Agregar restricciones existentes a DataSet. SqlDataAdapterse utiliza junto con SqlConnection y SqlCommand para aumentar el rendimiento en la conexión con una base de datos de SQL Server.
17. SqlCommand Cuando se crea una instancia de SqlCommand, las propiedades de lectura y escritura se establecen en sus valores iniciales. Para obtener una lista de esos valores, vea el constructor SqlCommand. e puede restablecer el valor de la propiedad CommandText y volver a utilizar el objeto SqlCommand. Sin embargo, es necesario cerrar SqlDataReader para poder ejecutar un comando nuevo o previo. Si el método que ejecuta un objeto SqlCommand genera una excepción SqlException, SqlConnection permanece abierta cuando el nivel de gravedad es igual o menor que 19. Si el nivel de gravedad es igual o mayor que 20, normalmente, el servidor cierra la conexión SqlConnection. Sin embargo, el usuario puede volver a abrir la conexión y continuar.
18. SqlDataReader Para crear un SqlDataReader, se debe llamar al método ExecuteReader del objeto SqlCommand, en lugar de utilizar directamente un constructor.Mientras se está utilizando SqlDataReader, el objeto SqlConnection asociado está ocupado dando servicio a SqlDataReader, y en SqlConnection no se puede realizar ninguna otra operación, excepto la de cerrar. Esto es así hasta que se llama al método Close de SqlDataReader. Por ejemplo, no se pueden recuperar parámetros de salida hasta después de llamar a Close. Los cambios que realiza otro proceso o subproceso en un conjunto de resultados mientras se leen los datos, pueden ser visibles para el usuario de SqlDataReader. Sin embargo, el comportamiento exacto depende de los intervalos de tiempo. IsClosed y RecordsAffected son las únicas propiedades a las que se puede llamar después de cerrarse SqlDataReader. Si bien se puede obtener acceso a la propiedad RecordsAffected mientras exista SqlDataReader, se debe llamar siempre al método Close antes de devolver el valor de RecordsAffected para garantizar que el valor devuelto sea exacto.