Desarrollo de aplicaciones web con ASP.NET

Angel Soto

 

dreamensys@gmail.com

ansoto.com

A tener en cuenta...

  • ADO.NET Parte 2(CRUD)
  • Manejo de Estado
  • Arquitectura Web
  • Code cooking!

Fuentes de datos

  • SqlDataSource: (SQL Server, OLE DB, ODBC,Oracle)
  • ObjectDataSource : (Business Objects)
  • AccessDataSource 
  • XmlDataSource 
  • LinqDataSource 
  • EntityDataSource 

Using System.Linq

LINQ

  • Lenguaje consultable
  • SQL
  • Arrays, Clases Documentos XML, Bases de datos Relacionales y Fuentes tercerizadas.
  • Operadores de consulta
  • Operadores de sequencia

LINQ (Language-Integrated Query)

var resultados =  from c in MiColeccion
               where c.miPropiedad< 10
               select new {c.miPropiedad,
                 c.miOtraPropiedad};

foreach (var resultado in resultados )
{
        Console.WriteLine(resultado );
}

Administración de Estado

Servidor Cliente
Estado de la aplicación Cookies
Estado de sesión ViewState
Base de datos QueryStrings

Servidor

Estado de la aplicación

  • Una instancia de HttpApplicationState por cada aplicación web.
  • Mecanismo de almacenamiento global disponible desde todas las páginas de la aplicación web
  • Almacenar variables en la aplicación compartidas por múltiples sesiones y con poca frecuencia de cambio
Application["LLaveTuObjeto"] = tuObjeto;

string copiaTuObjeto = Application["LLaveTuObjeto"].toString();

Estado de la sesión

  • Limitado a la sesión actual.
  • Puede almacenar valores que tengan que mantenerse durante la sesión de un usuario en las variables de sesión y acceder a ellas desde cualquier página de la aplicación.
Session["LLaveTuObjeto"] = tuObjeto;

string copiaTuObjeto = Session["LLaveTuObjeto"].toString();

Cliente

Cookies

  • Pequeña cantidad de datos almacenados en un archivo texto en el cliente o en la memoria en la sesión.
  • Contiene información específica de la página que el servidor envía al cliente.
  • El servidor está autorizado para leer la cookie y extraer su información
HttpCookie cookieUsuario = new HttpCookie("cookieUsuario");
cookieUsuario.Values.Add("Id", usuario.Id.ToString());
cookieUsuario.Values.Add("Nombre", usuario.Nombre);
cookieUsuario.Values.Add("Appellido", usuario.Apellido);
cookieUsuario.Values.Add("Contrasena", usuario.Contrasena);
cookieUsuario.Values.Add("Ciudad", usuario.Ciudad);
cookieUsuario.Expires = DateTime.Now.AddHours(1);
Response.Cookies.Add(cookieUsuario);

//Accesa a la cookie
HttpCookie cookieUsuario = Request.Cookies["cookieUsuario"];

ViewState

  • Retiene valores de múltiples request para la misma página.
 ViewState["ejemplo"] = 21;
 int i = (int)ViewState["ejemplo"];
Page.isPostback

QueryString

  • Información que se adiciona al datos final de la URL
Response.Redirect("WebForm.aspx?parametro="+valorparametro);

string copiaParametro = Request.QueryString("parametro");

Global.asax

  • Usado para manejar eventos mientras que la aplicación web se está ejecutando.
  • Almacenado en el directorio virtual de la aplicación.
  • Es un archivo opcional, si no se define, se asume que no se manejará eventos de aplicación y de sesión.

Arquitectura Web

MVC

  1. Modelo
  2. Vista
  3. Controlador

nLayer

  1. Presentación
  2. Lógica
  3. Acceso a datos
  4. Persistencia
  5. n+1 

Code Cooking!

Made with Slides.com