Вы находитесь на странице: 1из 63

LOGO

ASP.Net

Qu es ASP.Net?
ASP.NET es un framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinmicos, aplicaciones web y servicios web XML. Apareci en enero de 2002 con la versin 1.0 del .NET Framework, y es la tecnologa sucesora de la tecnologa Active Server Pages (ASP). ASP.NET esta construido sobre el Common Language Runtime, permitiendo a los programadores escribir cdigo ASP.NET usando cualquier lenguaje admitido por el .NET Framework.

Caractersticas del ASP.Net


Pginas
Las pginas de ASP.NET, conocidas oficialmente como "web forms" (formularios web), son el principal medio de construccin para el desarrollo de aplicaciones web. Los formularios web estn contenidos en archivos con una extensin ASPX; en jerga de programacin, estos archivos tpicamente contienen etiquetas HTML o XHTML esttico, y tambin etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el cdigo esttico y dinmico requerido por la pgina web.

Caractersticas del ASP.Net


Adicionalmente, el cdigo dinmico que se ejecuta en el servidor puede ser colocado en una pgina dentro de un bloque <% -- cdigo dinmico -- %> que es muy similar a otras tecnologas de desarrollo como PHP, JSP y ASP, pero esta prctica es, generalmente, desaconsejada excepto para propsitos de enlace de datos pues requiere ms llamadas cuando se genera la pgina. ASP.NET Es limitado a solo funcionar con IIS, por lo que su uso es cuestionado por la mayora de los programadores web quienes prefieren otros lenguajes de programacin del lado del servidor como por ejemplo PHP, Perl, Java Etc.

Paginas
Formulario web de ejemplo
Este es un ejemplo que utiliza cdigo "en lnea", opuesto al cdigo independiente (code-behind).
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e)

Paginas
{ Label1.Text = DateTime.Now.ToLongDateString(); } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Pgina de Ejemplo</title> </head> <body> <form id="form1" runat="server">

Paginas
<div> <asp:Label runat="server" id="Label1" /> </div> </form> </body> </html>

Caractersticas del ASP.Net


El modelo Code-behind
Microsoft recomienda que para realizar programacin dinmica se use el modelo code-behind, o de respaldo, que coloca el cdigo en un archivo separado o en una etiqueta de script especialmente diseada. Los nombres de los archivos code-behind estn basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta prctica se realiza automticamente en Microsoft Visual Studio y otras interfaces de desarrollo).

Caractersticas del ASP.Net


Cuando se usa este estilo de programacin, el desarrollador escribe el cdigo correspondiente a diferentes eventos, como la carga de la pgina, o el clic en un control, en vez de un recorrido lineal a travs del documento. El modelo code-behind de ASP.NET marca la separacin del ASP clsico y alienta a los desarrolladores a construir aplicaciones con la idea de presentacin y contenido separados en mente. En teora, esto permite a un diseador web, por ejemplo, enfocarse en la creacin del diseo con menos posibilidades de alterar el cdigo de programacin mientras lo hace. Esto es similar a la separacin en el Modelo Vista Controlador

El Modelo Code-Behind
Ejemplo

<%@ Page Language="C#" CodeFile="EjemploCodeBehind.aspx.cs" Inherits="SitioWeb.EjemploCodeBehind" AutoEventWireup="true" %>


La etiqueta superior es colocada al inicio del archivo ASPX. La propiedad CodeFile de la directiva @ Page especifica que archivo (.cs o .vb) contiene el cdigo code-behind mientras que la propiedad Inherits especifica la clase de la cual deriva la pgina.

El Modelo Code-Behind
En este ejemplo, la directiva @ Page est incluida en EjemploCodeBehind.aspx y el archivo EjemploCodeBehind.aspx.cs contendr el cdigo para esta pgina:
using System; namespace SitioWeb { public partial class EjemploCodeBehind: System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } }

El Modelo Code-Behind
En este caso, el mtodo Page_Load() ser llamado cada vez que la pgina ASPX sea solicitada al servidor. El programador puede implementar manejadores de eventos en varias etapas del proceso de ejecucin de la pgina..

Caractersticas del ASP.Net


Controles de usuario
ASP.NET permite la creacin de componentes reutilizables a travs de la creacin 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, adems de etiquetas para definir controles web y otros controles de usuario. Tambin pueden usar el modelo codebehind.

Caractersticas del ASP.Net


Los programadores pueden agregar sus propias propiedades y mtodos, 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 pgina que lo contiene.

Caractersticas del ASP.Net


Administracin 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 informacin sobre conexiones anteriores. Por lo tanto, si la aplicacin requiere interaccin entre conexiones, tiene que implementar su propia administracin del estado. ASP.NET proporciona varias maneras de administrar el estado de las aplicaciones ASP.NET.

Administracin del Estado


Estado de la aplicacin El estado de la aplicacin (Application state) es una coleccin de variables definidas por el usuario que son compartidas por todas las invocaciones de una aplicacin 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 estn disponible hasta que la ltima instancia termina. Las variables de estado de la aplicacin son identificadas por nombres.

Administracin del Estado


Estado de la sesin El estado de la sesin (Session state) es una coleccin de variables definidas por el usuario, las cuales persisten durante la sesin de un usuario. Estas variables son nicas para diferentes instancias de una sesin de usuario, y son accedidas usando la coleccin Session. Las variables de sesin pueden ser preparadas para ser automticamente destruidas despus de un determinado tiempo de inactividad, incluso si la sesin no ha terminado. Del lado del cliente, una sesin de usuario es identificada por una cookie o codificando el ID de la sesin en la misma URL.

Estado de la Sesin
ASP.NET proporciona tres modos de persistencia para variables de sesin: InProc Las variables de sesin son mantenidas dentro del Proceso (informtica). Sin embargo, en este modo, las variables son destruidas cuando el proceso ASP.NET es reciclado o terminado. SqlServer En este modo, las variables de estado son almacenadas en un servidor de base de datos, accesible usando SQL. Las variables de sesin pueden persistir a travs de finalizaciones de procesos tambin en este modo.

Estado de la Sesin
StateServer En este modo, ASP.NET ejecuta un servicio de Windows separado que mantiene las variables de estado. Como esta administracin de estado ocurre fuera del proceso ASP.NET, tiene un impacto negativo en el rendimiento, pero permite a mltiples instancias de ASP.NET compartir el mismo estado del servidor, permitiendo que una aplicacin ASP.NET pueda tener su carga balanceada y escalada en mltiples servidores. Tambin, como el servicio de administracin del estado se ejecuta independiente de ASP.NET, las variables pueden persistir a travs de las finalizaciones del proceso ASP.NET.

Administracin del Estado


Estado de la vista El estado de la vista (View state) se refiere al mecanismo de administracin de estado a nivel de pgina, que es utilizado por las pginas HTML generadas por las aplicaciones ASP.NET para mantener el estado de los controles de los formularios web y los widgets. El estado de los controles es codificado y mandado al servidor en cada envo del formulario en un campo oculto conocido como __VIEWSTATE. El servidor enva de regreso las variables para que cuando la pgina sea renderizada de nuevo, los controles volvern a su ltimo estado.

Administracin del Estado


Del lado del servidor, la aplicacin puede cambiar el estado de la vista, si los resultados del procesamiento actualizan el estado de cualquier control. El estado de los controles individuales son decodificados en el servidor, y estn disponibles para su uso en ASP.NET usando la coleccin ViewState.

Caractersticas del ASP.Net


Motor de plantillas
Al ser liberado, ASP.NET careca de un motor de plantillas. Debido a que el .NET framework es orientado a objetos y permite la herencia, muchos desarrolladores podran definir una nueva clase que herede desde "System.Web. UI.Page", escribir mtodos en ella que renderizen HTML, y entonces hacer las pginas en su aplicacin que hereden de esta nueva clase. Mientras esto permite que los elementos comunes sean dentro de un sitio, agrega complejidad y mezcla cdigo fuente con lenguaje de marcado.

Caractersticas del ASP.Net


Adems, este mtodo puede ser visto solamente al ejecutar la aplicacin, no mientras se est diseando. Otros desarrolladores han usado archivos incluidos y otros trucos para evitar la implementacin de enlaces de navegacin y otros elementos en cada pgina. ASP.NET 2.0 presento el concepto de pgina maestra(Master Page), que permiten el desarrollo de pginas basado en plantillas web. Una aplicacin web puede tener una o ms pginas maestras, las cuales pueden ser anidadas.

Caractersticas del ASP.Net


Las plantillas maestras contienen controles contenedores, llamados ContentPlaceHolders para indicar donde ira el contenido dinmico, adems de HTML y JavaScript que ser compartido a travs de las pginas hijas. Las pginas hijas tambin usan esos controles ContentPlaceHolder, que deben ser relacionados con el ContentPlaceHolder de la pgina maestra que contiene a esta pgina hija. El resto de la pgina est definido por las partes compartidas de la pgina maestra. Todo el lenguaje de marcado y controles de servidor en la pgina de contenido deben ser colocadas dentro del control ContentPlaceHolder.

Caractersticas del ASP.Net


Cuando una solicitud es hecha por una pgina de contenido, ASP.NET mezcla la salida de la pgina de contenido con la salida de la pgina maestra, y enva el resultado al usuario. La pgina maestra permanece completamente accesible a la pgina del contenido. Esto significa que la pgina de contenidos puede manipular los encabezados, cambiar el ttulo, configurar la cache, etc. Si la pgina maestra expone propiedades pblicas o mtodos, el contenido de la pgina puede utilizar estos tambin.

Caractersticas del ASP.Net


Otros archivos Otras extensiones de archivo asociadas con las diferentes versiones de ASP.NET incluyen:
Extensin asax ascx ashx asmx Versin requerida 1.0 1.0 1.0 1.0 Descripcin Global.asax, usada para la lgica a nivel de aplicacin Controles de usuario web: Controles personalizados para ser colocados en pginas web Manejadores HTTP personalizados Pginas de servicios web

Caractersticas del ASP.Net


Extensin Versin requerida Descripcin Cuando est habilitado en el web.config la solicitud de trace.axd genera trazas de salida a nivel de aplicacin. Tambin es usado para el manejador especial webresource.axd que permite a los desarrolladores de controles/componentes empacar un control/componente con imgenes, script, CSS, etc. para el desarrollo de un archivo nico (un 'ensamblado') Archivos de capacidades del navegador almacenadas en formato XML; introducido en la versin 2.0. ASP.NET incluye muchos de estos por defecto, para admitir a los navegadores web comunes. Estos especifican que navegadores tienen que capacidades, as que ASP.NET 2 puede automticamente personalizar y optimizar su salida de acuerdo al navegador. Los archivos especiales .browser estn disponibles en descarga libre para manejar, por ejemplo, el validador de la W3C. Reemplaza la seccin BrowserCaps que se encontraba en el archivo machine.config en ASP.NET 1.x

axd

1.0

browser

2.0

Caractersticas del ASP.Net


Extensin Versin requerida Descripcin web.config es el nico archivo en una aplicacin web especifica que usa esta extensin por defecto (machine.config tiene efectos similares en un servidor web y todas las aplicaciones en el), sin embargo ASP.NET proporciona la facilidad de crear y utilizar otros archivos config. Son almacenados en formato XML Archivos de cdigo fuente (cs indica C#, vb indica Visual Basic). Los archivos code-behind predominantemente tienen la extensin ".aspx.cs" o ".aspx.vb" para los dos lenguajes ms comunes. Otros archivos de cdigo (que frecuentemente contienen bibliotecas de clases) pueden tambin existir en las carpetas web con las extensiones cs/vb. En ASP.NET 2 estos deberan estar colocados dentro de la carpeta App_Code donde son dinmicamente compilados y estn disponibles para toda la aplicacin

config

1.0

cs/vb

1.0

Caractersticas del ASP.Net


Extensin dbml master 3.5 2.0 Versin requerida Descripcin Archivo de clases de datos LINQ a SQL Archivo de pgina maestra Archivos de recursos para localizacin y globalizacin. Los archivos de recursos pueden ser globales (por ejemplo, mensajes) o locales, que estn hechos especficamente para un solo archivo aspx o ascx. Archivos de configuracin sitemap

resx

1.0

sitemap

2.0

skin svc

2.0 3.0

Archivos de pieles de temas


Archivos de servicio de Windows Communication Foundation

Caractersticas del ASP.Net


Estructura de directorios
En general, la estructura de directorios de ASP.NET puede ser determinada por las preferencias del desarrollador. Aparte de unos pocos nombres de directorios reservados, el sitio puede expandirse a cualquier nmero de directorios. La estructura es tpicamente reflejada directamente en las urls. Los nombres de directorios especiales (a partir de ASP.NET 2.0 son): App_Browsers Contiene archivos de definicin especficos para navegadores.

Caractersticas del ASP.Net


App_Code Es un directorio para cdigos. El servidor ASP.NET automticamente compilara los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde cualquier pgina del sitio. App_Code es tpicamente usada para cdigo de acceso a datos, cdigo de modelo o cdigo de negocios. Tambin cualquier manejador http especifico para el sitio e implementacin de mdulos y servicios web van este directorio. Como alternativa a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado independiente con cdigo precompilado.

App_Data
Directorio por defecto para las base de datos, tales como archivos mdb de Microsoft Access y archivos mdf de Microsoft SQL Server. Este directorio es usualmente el nico con permisos de escritura en la aplicacin.

App_LocalResources
Contiene archivos de recursos localizados para pginas individuales del sitio.

App_GlobalResources
Contiene archivos resx con recursos localizados disponibles para cada pgina del sitio. Este es donde el desarrollador ASP.NET tpicamente almacenara mensajes que sern usados en ms de una pgina

App_Themes usado para temas alternativos del sitio. App_WebReferences Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio. Bin Contiene cdigo compilado (archivos .dll) para controles, componentes, y otro cdigo que pueda ser referenciado por la aplicacin. Cualquier clase representada por cdigo en la carpeta Bin es automticamente referenciada en la aplicacin.

Requisitos de desarrollo de ASP.NET


Para desarrollar aplicaciones ASP.NET, debe tener lo siguiente:
.NET Framework 2.0. Un entorno de creacin de cdigo. Un servidor Web como IIS (Servicios de Internet Information Server) y permisos para guardar archivos en el servidor Web.

Si lo desea, puede utilizar los siguientes elementos:


Un producto de bases de datos, como Microsoft SQL Server, para proporcionar el almacenamiento de datos de la aplicacin. Un servidor SMTP para enviar mensajes de correo electrnico de una aplicacin Web ASP.NET.

Requisitos de desarrollo de ASP.NET


Requisitos
El entorno .NET Framework ASP.NET forma parte de .NET Framework como el espacio de nombres System.Web. Para utilizar ASP.NET, debe tener .NET Framework instalado en el equipo que aloja los sitios Web de ASP.NET. Puede descargar la versin 2.0 de .NET Framework del sitio Web .NET Framework Developer Center.

Requisitos de desarrollo de ASP.NET


Entornos de creacin de cdigo
Puede crear clases y pginas 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 caractersticas de programacin, como plantillas de pgina, IntelliSense, llenado automtico de cdigo y compilacin en tiempo de diseo. Estas caractersticas pueden acelerar el proceso de desarrollo y proporcionar la organizacin para su proyecto. Para obtener ms informacin sobre Visual Studio, vea Visual Studio Developer Center.

Requisitos de desarrollo de ASP.NET


Servidores Web
Para trabajar con una aplicacin Web ASP.NET, debe utilizar un explorador para realizar solicitudes al servidor Web que aloja la aplicacin. 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 pginas y componentes en un servidor compartido. Nota Si utiliza Visual Studio, puede probar las pginas Web de ASP.NET usando el servidor de desarrollo de ASP.NET, que ejecuta las pginas localmente en el equipo sin necesidad de instalar IIS.

Requisitos de desarrollo de ASP.NET


Para trabajar con IIS como servidor Web, la cuenta de usuario en la que se realiza la ejecucin debe tener permiso de escritura en el directorio en el que reside la aplicacin, ya sea como elemento secundario de la raz del servidor Web (normalmente la carpeta Wwwroot) o como directorio virtual. Observe que la cuenta que requiere permiso para un directorio de aplicaciones suele ser diferente en tiempo de diseo que en tiempo de ejecucin. De manera predeterminada, las aplicaciones Web ASP.NET se ejecutan en el contexto de una cuenta de equipo local denominada ASPNET (para Windows 2000 y Windows XP) o en el contexto de la cuenta NETWORK SERVICE (para Windows Server 2003). Para obtener ms informacin, vea Listas de control de acceso (ACL) necesarias para ASP.NET y

Requisitos de desarrollo de ASP.NET


Nota Si tiene IIS instalado, al instalar .NET Framework se registra la extensin ISAPI de ASP.NET (Aspnet_isapi.dll) en IIS. Si instala IIS una vez que.NET Framework est instalado, debe usar la utilidad Aspnet_regiis.exe para registrar ASP.NET con IIS.

Si no puede instalar IIS localmente en su entorno de desarrollo, puede desarrollar su aplicacin mediante un servidor Web de IIS compartido. En este escenario, los mismos requisitos de permiso se aplican en el escenario de IIS local.

Requisitos de desarrollo de ASP.NET


Bases de datos
Si la aplicacin implica almacenamiento de datos, necesita acceso a una aplicacin de base de datos como Microsoft SQL Server, y a los permisos adecuados para leer y escribir datos en la base de datos. En los escenarios tpicos, una cuenta se utiliza para tener acceso a la base de datos en tiempo de diseo y se utiliza una cuenta diferente para tener acceso a la base de datos en tiempo de ejecucin. De manera predeterminada, las aplicaciones Web ASP.NET se ejecutan en el contexto de una cuenta de equipo local denominada ASPNET (para Windows 2000 y Windows XP) o en el contexto de la cuenta NETWORK SERVICE (para Windows Server 2003).

Requisitos de desarrollo de ASP.NET


Servidores SMTP
Para enviar mensajes de correo electrnico desde una aplicacin Web ASP.NET, la aplicacin debe poder reenviar los mensajes a un servidor SMTP. Algunos controles ASP.NET, como el control PasswordRecovery, requieren la capacidad de enviar mensajes de correo electrnico. Puede utilizar el servidor virtual SMTP de IIS para reenviar mensajes de correo electrnico.

Conexin a una Base de Datos


Conectar con bases de datos en ASP.NET
ASP.NET le proporciona flexibilidad a la hora de conectarse a las bases de datos. Un modo sencillo consiste en utilizar controles de origen de datos, que permiten encapsular el acceso a los datos en un control que se puede configurar con informacin sobre la conexin y la consulta. Opcionalmente, puede escribir su propio cdigo para realizar el acceso a los datos mediante las clases de ADO.NET.

Conexin a una Base de Datos


Utilizar los controles de origen de datos en una pgina Web ASP.NET Para conectarse a una base de datos mediante un control de origen de datos, deber realizar las operaciones siguientes: Determinar el tipo de control de origen de datos que necesita. Por ejemplo, el control ObjectDataSource funciona con un objeto comercial de nivel medio para recuperar y modificar los datos, mientras que el control SqlDataSource permite proporcionar una conexin a un origen de datos e instrucciones SQL para recuperar y modificar los datos.

Conexin a una Base de Datos


Cuando utilice el control SqlDataSource, determine el proveedor que necesita. Un proveedor es una clase que se comunica con un tipo especfico 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. Agregar el control de origen de datos a la pgina y establecer sus propiedades para el acceso a datos. Por ejemplo, el control ObjectDataSource requiere el tipo de objeto comercial de nivel medio y uno o varios mtodos para consultar o modificar los datos. El control SqlDataSource requiere una cadena de conexin que incluya la informacin que necesita el proveedor para abrir una base de datos determinada y uno o varios comandos SQL para consultar o modificar los datos.

Conexin a una Base de Datos


Puede definir la informacin sobre el proveedor y la conexin como propiedades individuales del control SqlDataSource, o puede definirla de forma centralizada en el archivo Web.config de la aplicacin Web. El almacenamiento de la informacin de conexin en el archivo Web.config permite reutilizarla con varias instancias del control de datos. Tambin ayuda a proteger la informacin de la cadena de conexin mediante listas de control de acceso (ACL) y cifrado. Para obtener ms informacin, vea "Cadenas de conexin" ms adelante en este mismo tema.

Conexin a una Base de Datos


Proveedores
Un proveedor de ADO.NET es una clase que se puede comunicar con un tipo especfico de base de datos o almacn de datos. Por ejemplo, un proveedor podra comunicarse con una base de datos de SQL Server y otro podra comunicarse con una base de datos de Oracle. Los proveedores incluidos con .NET Framework son: Proveedor de datos de .NET Framework para SQL Server en el espacio de nombres System.Data.SqlClient. ste es el proveedor predeterminado para el control SqlDataSource; si se conecta a una base de datos de SQL Server mediante el control SqlDataSource, no es necesario especificar explcitamente un proveedor.

Conexin a una Base de Datos


Proveedor de datos de .NET Framework para OLE DB en el espacio de nombres System.Data.OleDb. Proveedor de datos de .NET Framework para ODBC en el espacio de nombres System.Data.Odbc. Proveedor de datos de .NET Framework para Oracle en el espacio de nombres System.Data.OracleClient. El proveedor se puede especificar en el archivo Web.config como parte de una cadena de conexin o como una propiedad de un control de origen de datos individual en una pgina.

Conexin a una Base de Datos


Cadenas de conexin
Una cadena de conexin proporciona la informacin que un proveedor necesita para comunicarse con una base de datos determinada. Se puede almacenar en el archivo Web.config y hacer referencia a la entrada de configuracin en un control de origen de datos. Dependiendo del proveedor, una cadena de conexin generalmente proporciona el servidor o la ubicacin del servidor de bases de datos, la base de datos que se debe utilizar y la informacin de autenticacin. Al igual que ocurre con el proveedor, la cadena de conexin se puede incluir en el archivo Web.config o como una propiedad de un control de origen de datos individual en una pgina.

Conexin a una Base de Datos


Almacenamiento de cadenas de conexin
Es recomendable incluir las cadenas de conexin en el archivo Web.config. En el elemento Elemento <configuration>, se puede crear un elemento secundario denominado <connectionStrings> e incluir all las cadenas de conexin, como se muestra en este ejemplo: <connectionStrings> <add name="NorthindConnectionString" connectionString=" Server=MyDataServer;Integrated Security=SSPI;Database=Northwind;" providerName="System.Data.SqlClient" /> </connectionStrings>

Conexin a una Base de Datos


En este ejemplo se proporciona tanto el nombre como el proveedor. Cualquier control de origen de datos situado en cualquier pgina de la aplicacin puede hacer referencia a esta entrada de cadena de conexin. Una ventaja del almacenamiento de la informacin de cadenas de conexin en el archivo Web.config es que permite cambiar fcilmente el nombre del servidor, la base de datos o la informacin de autenticacin sin necesidad de editar pginas Web individuales. Adems, puede proteger la cadena de conexin mediante cifrado. Para obtener ms informacin, vea Cmo: Proteger cadenas de conexin al utilizar controles de orgenes de datos.

Conexin a una Base de Datos


Controles de origen de datos
Los controles de origen de datos proporcionan servicios de datos, que incluyen la recuperacin y modificacin de datos, y pueden utilizar otros controles de servidor Web enlazados a datos, como los controles GridView, FormView y DetailsView. Un control de origen de datos, como SqlDataSource, encapsula todos los elementos requeridos para conectarse a una base de datos (proveedor, cadena de conexin y consulta) y recuperar o manipular los datos. Por ejemplo, el siguiente control SqlDataSource est configurado para conectarse a una base de datos y leer todos los registros de la tabla Customers:

Conexin a una Base de Datos


<asp:SqlDataSource ID="SqlDataSource1 Runat="server SelectCommand="Select * from Customers" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" />

En este ejemplo, el nombre del proveedor y la cadena de conexin se almacenan en el archivo Web.config, mientras que la consulta SQL est configurada como una propiedad del control de origen de datos.

Conexin a una Base de Datos


Realizar el acceso a los datos en el cdigo
Si no resulta conveniente utilizar controles de origen de datos en su aplicacin, puede codificar el acceso a los datos con las clases de ADO.NET. Esta prctica es aconsejable si sus requisitos son demasiado complejos para utilizar los controles de origen de datos o si desea crear un componente independiente que realice el acceso a los datos fuera de sus pginas Web.

Caractersticas del DataSet - DataReader


Con ADO.NET tenemos dos posibilidades de trabajo: Objetos DataSet. (Clases desconectadas) Objetos DataReader. (Clases conectadas) Explicaremos sus principales caractersticas y diferencias, para tener claro cuando usar uno u otro. Una vez hemos aclarado cual de estos objetos se adapta a nuestras necesidades, explicaremos ms detenidamente como debemos trabajar y programar nuestras aplicaciones enlazadas a datos. En la siguiente figura puedes ver el esquema de objetos utilizado en ADO.NET:

Caractersticas del DataSet - DataReader


Aplicacin ASP.Net

DataSet

DataReader

Objeto Command Objeto Conection Proveedor de Datos

Base de Datos

Caractersticas del DataSet - DataReader


DataSet.
Un objeto DataSet nos permite trabajar con fuentes de datos y almacenar mltiples tablas. Estas tablas se representan mediante el objeto DataTable. Por lo tanto un objeto DataSet puede trabajar con varias DataTable de modo que pueden existir relaciones entre las DataTable para la recuperacin de datos de mltiples tablas. Visto as parece algo complicado de conseguir, simplemente qudate con la idea de que un DataSet es como una base de datos virtual que se aloja en la propia aplicacin. Por lo tanto si hablamos de una base de datos, est claro que podemos contener varias tablas (DataTable) con

Caractersticas del DataSet - DataReader


DataReader
Es un objeto mucho ms sencillo que un DataSet, su nica funcin es el acceso a una base de datos para realizar consultas de slo lectura. stas consultas slo pueden realizarse hacia delante, es decir, no podremos retroceder para obtener datos anteriores, una vez realizada una consulta en una fila, las anteriores resultan inaccesibles. Slo podremos realizar consultas en nica base de datos.

Caractersticas del DataSet - DataReader


Para poder seleccionar correctamente con cual de estos objetos debes optar, debes conocer de antemano que tareas vas a realizar con los datos. Para realizar consultas de slo lectura, que nicamente sern necesarias realizarlas una vez (no tendremos que volver a acceder a filas anteriores) el objeto recomendado es DataReader. Por ejemplo, para comprobar si un articulo se encuentra entre una tabla que guarda la lista de artculos del inventario de un almacn, basta con realizar una nica consulta de slo lectura. Sin embargo, si vamos a realizar un acceso a datos ms complicado, como puede ser la

Caractersticas del DataSet - DataReader


Veamos las ventajas de cada uno de ellos: Acceso a datos. Como hemos dicho, si tenemos previsto recibir y almacenar datos, optamos por DataSet, ya que DataReader slo permite lecturas. Trabajar con ms de una tabla o ms de una base de datos. Si la funcin que estamos desarrollando requiere informacin situada en varias tablas de una misma base de datos o de varias, utilizaremos el objeto DataSet. Con DataReader slo podemos construir consultas SQL que accedan a una base de datos.

Caractersticas del DataSet - DataReader


Controles enlazados.
Si nicamente vamos a enlazar un control a nuestros datos, podemos utilizar DataReader, pero si por el contrario queremos enlazar varios controles a una fuente de datos, el objeto DataSet nos permite crearlo una vez y vincularlo varias. Puede entregar informacin a tantos controles como deseemos.

Velocidad.
El objeto DataSet es ms lento que el DataReader, ya que trabaja en modo desconectado, los datos del DataSet se almacenan en un objeto del servidor. Adems, las opciones que ofrece de ejecutar cualquier comando SQL, poder retroceder en las consultas y gestionar varias tablas, provoca una sobrecarga en el servidor. El objeto DataReader al ser mucho ms sencillo, resulta tambin ms ligero para el servidor.

Objetos bsicos en ASP.Net


SqlClientPermission
Permite que el proveedor de datos de .NET Framework para servidor SQL Server se asegure de que un usuario dispone de un nivel de seguridad suficiente para obtener acceso a un origen de datos.

SqlCommand
Representa un procedimiento almacenado o una instruccin de Transact-SQL que se ejecuta en una base de datos de SQL Server. Esta clase no se puede heredar.

Objetos bsicos en ASP.Net


SqlCommandBuilder
Genera automticamente comandos de tabla nica que se utilizan para conciliar los cambios realizados en un objeto DataSet con la base de datos de SQL Server asociada. Esta clase no se puede heredar.

SqlConnection
Representa una conexin abierta con una base de datos de SQL Server. Esta clase no se puede heredar.

SqlDataAdapter
Representa un conjunto de comandos de datos y una conexin de base de datos que se utilizan para rellenar un DataSet y actualizar una base de datos de SQL Server. Esta clase no se puede heredar.

SqlDataReader
Proporciona una forma de leer una secuencia de filas slo hacia delante en una base de datos de SQL Server. Esta clase no se puede heredar.

SqlParameter
Representa un parmetro de un objeto

Вам также может понравиться