Aplicación web es un conjunto de páginas HTML transmitidas por HTTP.
ASP.NET es un framework/ambiente para el desarrollo de aplicaciones web de manera similar a las aplicaciones de escritorio.
IIS: FTP, SMTP, NNTP, HTTP/HTTPS.
HTML Forms -> <form></form>
Submit -> Postback
Method: {post, get}
Web Form componente fundamental de ASP.NET. (.aspx)
- Es una página en lenguaje de marcas.
- Indenpendencia del cliente.
- Permite utilizar cualquier lenguaje .NET.
- Permite desarrollar servicios web XML.
- Es compilado.
- Actualizado sin reiniciar.
Code Behind: asociados a las Web Forms con la implementación del comportamiento del lado del servidor. Se enrriquece con el aprovechamiento de Partial Class.
Archivos de configuración en XML.
- web.config: información común a toda la aplicación.
- machine.config: por servidor.
- global.asax: eventos a nivel aplicación: {Application_Start, Application_End, Session_Start, Session_End}
Controles de servidor HTML: componentes que se ejecutan del lado del servidor.
- Encapsulan parte de la interfaz de usuario.
- runat=”server”.
- Mantienen su estado (Viewstate): a nivel de control, página o aplicación.
- Atributos Id, Text.
El ViewState por defecto viene activo para formularios, puede activarse con la propiedad EnableViewState.
Controles de servidor Web: Web Controls.
- Sólo accesibles desde el servidor.
- No corresponden únicamente con los HTML.
- Utilizan un namespace XML diferente del por defecto.
Validadores: validan el contenido de campos del usuario:
- Validadores mas utilizados.
- RequiredFieldValidator.
- CompareValidator.
- RangeValidator.
- RegularExpressionValidator.
- CustomValidator.
- ValidationSummary.
- Page.IsValid -> verifica si se cumplieron todas las validaciones.
- No disponible en Init ni Load.
Controles de servidor: UI rica encapsulada.
Controles de usuario:
- Reutilización de código y componentes UI.
- Extensión .ascx.
- Escritos en HTML y código xxx.NET.
- <%@ Control Language=”xxx” %>
- Autocontenidos.
- Escritos en diversos lenguajes.
- Se deben registrar.
<%@Register TagPrefix=”MiPrefix” TagName=”MiEtiqueta” Src=”header.ascx” %> - Para ser utilizados.
<MiPrefix:MiEtiqueta id=“MiId” runat=“server”> </MiPrefix:MiEtiqueta> - Se convierten en un objeto.
Eventos de un Web Form:
- Evento en el cliente.
- Envío de mensaje.
- Procesamiento del mensaje.
- Ejecución del manejador adecuado.
- Envío de respuesta al cliente (Post Back).
Manejo de eventos:
- Cliente: en el componente se especifica su manejador: onClick=’botonClick’
- Servidor: un método Code Behind maneja el evento: protected void botonClick(object sender, EventArgs e).
Ciclo de vida de una página:
- Inicialización de objetos
- Carga View State
- Procesa datos del post
- Carga de la página
- Eventos Post Back
- Graba View State
- Render
- UnLoad
Autenticación de usuario:
- Windows.
- Formularios (personalizado).
- MS Passport.
Utiliza un ticket de autenticación -> cookie.
Mecanismos para mantener el estado:
- Application state: global, accesible desde toda la aplicación. Objeto Application.
- Session state: limitado a la sesión del navegador. Objeto Session.
- View state: entre las solicitudes de la misma página (campos de formulario). Implementado mediante un campo oculto del formulario.
Master Pages: plantillas generales.
- Directiva @Master en lugar de @Page: <%@ Master Language=”C#” CodeFile=”MasterPage.master.cs” Inherits=”MasterPage” %>
Las páginas de contenido seleccionan su Master Page con el atributo MasterPageFile de la directiva @Page.
Skin: definiciones de formato y estilo para los controles de servidor. Archivos .skin.
Themes: paquetes de skins. Incluyen recursos: CSS, imágenes, etc. Carpeta APP_Themes.
Son configurables a nivel de máquina (Machine.config), aplicación (web.config) o página (@Page).
Enlace de datos: relaciona a un control que despliega datos con el objeto que administra su fuente.
- ObjectDataSource: control -> capa del negocio.
- SqlDataSource: control -> base de datos relacional.
- XmlDataSource: control -> fuente XML.
Controles visualizadores: DataGridView, DetailsView, FormView.
Compilación de sitios ASP.NET:
- La compilación se realiza de manera automática según es solicitada por request del cliente.
- Es posible realizar la pre-compilación del sitio con el comando Aspnet_compiler.exe para su distribución binaria.
Artículos relacionados:
























