Share via


Introducción al acceso a datos en las páginas de formularios Web Forms

Las páginas de formularios Web Forms a menudo precisan mostrar información derivada de una base de datos, un documento o una secuencia XML, o cualquier otro origen de datos. La arquitectura de las páginas de formularios Web Forms permite incorporar los orígenes de datos (o referencias a ellos) a la página para enlazar controles con los datos y para manipular los datos de modos diversos.

Sin embargo, debido a la naturaleza de las páginas de formularios Web Forms, así como de la programación Web en sí misma, el acceso a datos en las páginas de formularios Web Forms difiere en varias aspectos del acceso a datos en los formularios Windows Forms o en la tecnología de formularios de productos Microsoft anteriores. De algún modo, estas son las mismas diferencias que hacen cualquier tipo de programación Web distinta de la programación de los formularios tradicionales: la administración del estado, la separación entre cliente y servidor, el diseño pensado para la escalabilidad, etc. Además, al trabajar con otros recursos como bases de datos, existen puntos importantes sobre la administración de los datos en las páginas de los formularios Web Forms que hay que llegar a comprender.

Nota   Cuando se implementa una aplicación que incluye componentes de acceso a datos de Visual Studio, debe comprobarse que el usuario que instala la aplicación tiene la versión 2.6 o superior de Microsoft Data Access Components (MDAC). Para obtener más información, vea Agregar una condición de inicio para Microsoft Data Access Components.

Conceptos básicos sobre el acceso a datos en las páginas de formularios Web Forms

El acceso a datos en las páginas de formularios Web Forms se basa en los siguientes principios fundamentales:

  • Utilización de un modelo desconectado
  • Mayor frecuencia de lectura de los datos que de su actualización
  • Reducción al máximo de los requisitos de recursos del servidor
  • Acceso a los datos mediante procesos remotos (acceso a datos distribuido)

Modelo desconectado

Las páginas de formularios Web Forms están desconectadas. Siempre que se solicita una página de formularios Web Forms, ésta se genera, se procesa, se envía al explorador y se desecha de la memoria del servidor. Por extensión, lo mismo se aplica al acceso a datos en páginas de formularios Web Forms; es decir, que los datos se leen o actualizan mientras la página se procesa en el servidor; cuando la página se ha finalizado y se envía al explorador, se desechan los datos junto con el resto de los elementos de la página.

Este modelo conlleva diversas implicaciones a la hora de trabajar con datos en las páginas de formularios Web Forms:

  • Los datos con los que se trabaja no están disponibles automáticamente para cada acción de ida y vuelta, es decir, cuando los usuarios hacen clic en un botón de la página. Si se desea obtener acceso a los datos de nuevo cada vez que la página se exponga en el servidor, será preciso volver a leer los datos del origen con cada acción de ida y vuelta o se tendrá que incluir código en la página para guardarla y restablecerla de forma explicita como parte del procesamiento de páginas.
  • No resulta práctico mantener abiertas las conexiones con los orígenes de datos. Normalmente, durante el procesamiento de las páginas se abre una conexión con los datos de origen, de lectura o de escritura y, a continuación, se cierra la conexión.
  • Durante cada acción de ida y vuelta, se realiza normalmente una única operación de acceso a datos. Por ejemplo, la primera vez que se llame a una página, se pueden leer los datos del origen y enlazar los controles de la página con ellos. A continuación, cuando los usuarios hagan clic en un botón, se pueden escribir los datos de un control en un origen de datos. Si se implementan operaciones como la paginación en una cuadrícula, cada acción de ida y vuelta obtiene normalmente un conjunto de registros.

Leer y actualizar datos

El modelo de datos de los formularios Web Forms supone que la mayoría de los accesos a los datos mediante páginas Web será de sólo lectura. Ejemplos típicos son los catálogos o listas de búsqueda, que muestran elementos de datos (los elementos son a menudo vínculos con otras páginas). En la mayoría de los casos, el usuario no escribe datos para devolverlos al origen de datos.

Como la mayoría de los accesos a datos son de sólo lectura, la arquitectura de enlace de datos de los formularios Web Forms es unidireccional; es decir, que los enlaces de datos muestran la información que contienen los controles, pero no escriben datos de los controles en un origen de datos.

El enlace de datos unidireccional confiere a las páginas de formularios Web Forms una mayor eficiencia. Por el contrario, las actualizaciones requieren bastante más trabajo en una página, ya que ésta debe tener disponibles copias de los registros que se deben actualizar y tiene que incluir la lógica para actualizar, insertar y eliminar registros. Como este trabajo adicional puede aumentar de manera significativa el tiempo de procesamiento de la página y la necesidad de requisitos de memoria del servidor, y debido a que en la mayoría de las páginas no es necesario realizar ninguna actualización, las páginas de formularios Web Forms predeterminadas no incluyen un modo de escribir datos de un control en un origen de datos.

Si se crea una página que actualice un origen de datos, se deberá incluir la lógica para realizar las operaciones de actualización. Por ejemplo, si una página de un portal permite a los usuarios especificar opciones de presentación personalizadas, se puede usar una página de formularios Web Forms para presentar las opciones disponibles y, a continuación, escribir las opciones elegidas por el usuario en una base de datos (tal vez al mismo tiempo que se almacena el identificador de usuario en una cookie). Para obtener más información sobre operaciones de actualización, vea Actualizaciones de conjuntos de datos en Visual Studio .NET. Para obtener un ejemplo de cómo realizar actualizaciones, vea Tutorial: actualizar datos mediante una consulta de actualización de bases de datos en los formularios Web Forms.

Minimizar el uso de los recursos del servidor

Debido a que las páginas de formularios Web Forms se procesan en el servidor antes de ser enviadas al explorador, cualquier acceso a datos en la página agrega a la carga del servidor tanto tiempo de procesamiento como uso de memoria. Si se decide guardar los datos entre las acciones de ida y vuelta y se almacenan en el servidor, se utilizarán recursos de éste aunque la página no se esté procesando.

El acceso a los datos en las páginas de formularios Web Forms requiere prestar una especial atención al modo en que se usan los recursos. Un diseño de acceso a datos que utilice la memoria y tiempo de procesamiento del servidor de forma innecesaria puede funcionar si el número de usuarios de la aplicación Web es reducido, pero puede convertirse en difícil de manejar si se escala en vertical la aplicación para muchos usuarios. Ha aquí algunos ejemplos de las decisiones de diseño que se pueden adoptar:

  • Obtener sólo tantos datos como se precisen de un origen de datos de una página dada.
  • Si es posible, usar opciones de administración de estados de la parte cliente (por ejemplo, el estado de la vista) para almacenar datos.

Para obtener más información sobre el diseño de acceso a datos para páginas de formularios Web Forms, vea Recomendaciones sobre la estrategia de acceso a datos Web.

Acceso a datos en procesos remotos

Las páginas de formularios Web Forms constituyen el nivel de presentación de la aplicación Web. Se pueden generar accesos a datos en las páginas, pero también es normal separar la lógica de acceso a datos de la interfaz de usuario generándola en otro componente (por ejemplo, un servicio XML Web) que interactúe con el origen de datos. Para obtener más información, vea Introducción a aplicaciones Web ASP.NET en Visual Studio.

Al igual que los componentes .NET, las páginas de los formularios Web Forms intercambian datos con otros procesos mediante una secuencia XML. Normalmente no es necesario trabajar directamente con el código XML que se intercambia entre los componentes, ya que el marco de trabajo de datos de la página (normalmente un conjunto de datos) realiza esta conversión automáticamente. Sin embargo, si en la aplicación resulta lógico hacerlo, se puede obtener acceso a los datos en formato XML directamente.

Permisos de acceso para aplicaciones Web

Independientemente de la estrategia de acceso a datos específica que seleccione para la aplicación, debe tener en cuenta las implicaciones de seguridad del acceso a datos. En la mayoría de los casos, los recursos de datos están protegidos por Windows o por seguridad específica de la base de datos. Cuando cree acceso a datos en la aplicación, debe asegurarse de que la aplicación tendrá permisos suficientes en tiempo de ejecución para obtener acceso a los datos que necesita. Los permisos que tiene la aplicación en tiempo de ejecución son con frecuencia diferentes del acceso que tiene usted en tiempo de diseño mientras crea y prueba la aplicación.

Para obtener información detallada, vea Permisos de acceso para aplicaciones Web. Para obtener información detallada sobre el acceso a SQL Server, vea Acceso a SQL Server desde una aplicación Web.

Vea también

Orígenes de datos para páginas de formularios Web Forms | Recomendaciones sobre la estrategia de acceso a datos Web | Enlace de datos en formularios Web Forms | Asistente para formularios de datos | Realizar operaciones de base de datos directamente | Serialización XML y SOAP