Compartir a través de


Información general sobre los servicios de aplicación ASP.NET

Actualización: noviembre 2007

Los servicios de aplicación ASP.NET son servicios web integrados que proporcionan acceso a características como la autenticación de formularios, las funciones y las propiedades de perfil. Estos servicios forman parte de una arquitectura orientada a servicios (SOA), donde una aplicación está compuesta de uno o más servicios que proporciona el servidor y de uno o más clientes. Para obtener más información sobre SOA, vea Understanding Service-Oriented Architecture en el sitio web de MSDN.

Una característica importante de los servicios de aplicación ASP.NET es que están disponibles para diferentes aplicaciones cliente, no sólo para aplicaciones web ASP.NET. Los servicios de aplicación ASP.NET están disponibles para cualquier cliente basado en .NET Framework. Además, cualquier aplicación cliente que puede enviar y recibir mensajes en formato SOAP puede usar los servicios de aplicación ASP.NET.

Este tema contiene la siguiente información.

  • Escenarios

  • Información general

  • Ejemplos

  • Referencia de clase

  • Recursos adicionales

Escenarios

Las aplicaciones cliente para los servicios de aplicación ASP.NET pueden ser de diferentes tipos y se pueden ejecutar en sistemas operativos diferentes. Entre ellas se incluyen los siguientes tipos de clientes:

  • Clientes de AJAX. Son páginas web ASP.NET (archivos .aspx) que se ejecutan en el explorador y que tienen acceso a los servicios de aplicación desde script de cliente. Generalmente los clientes de AJAX usan el formato JSON para intercambiar datos. Para obtener más información, vea Usar servicios web en ASP.NET para AJAX.

  • Clientes de .NET Framework. Son aplicaciones para Windows de .NET Framework que tienen acceso a los servicios de aplicación a través de HTTP mediante la infraestructura de modelo del proveedor y que usan el protocolo JSON para intercambiar datos. Para obtener más información, vea Información general sobre los servicios de aplicaciones cliente.

    Nota:

    El modelo de proveedor adapta el sistema de pertenencia para que utilice diferentes almacenes de datos o almacenes de datos con esquemas distintos. Para obtener más información, vea Proveedores de suscripciones.

  • Clientes de SOAP. Son clientes que pueden obtener acceso a los servicios de aplicación a través de SOAP 1.1. Esto resulta útil para clientes que se ejecutan en otros sistemas operativos o que usan otras tecnologías, como las aplicaciones Java. Para obtener más información, vea Tutorial: Usar servicios de aplicación ASP.NET.

La ilustración siguiente muestra cómo diferentes clientes se comunican con los servicios.

Comunicación de servicio web

Información general

Los servicios de aplicación que proporciona ASP.NET permiten a las aplicaciones cliente obtener acceso y compartir información que forma parte de una aplicación web. ASP.NET dispone de los servicios de aplicación siguientes:

  • Servicio de autenticación. Este servicio permite conceder a los usuarios el inicio de sesión en una aplicación. El servicio acepta las credenciales de usuario y devuelve un vale de autenticación (cookie). Para obtener más información, vea Información general sobre la autenticación de formularios de ASP.NET.

  • Servicio de funciones. Este servicio determina las funciones relacionadas con la aplicación para un usuario autenticado, basándose en la información que proporciona un proveedor de funciones de ASP.NET. Esto puede ser útil si desea proporcionar una interfaz de usuario específica o si desea permitir el acceso a recursos específicos según la función del usuario. Para obtener más información, vea Administrar autorizaciones con funciones.

  • Servicio de perfil. Este servicio proporciona información por usuario como el perfil de un usuario que está almacenado en el servidor. Esto permite a la aplicación tener acceso a la configuración de un usuario en diferentes momentos y desde diferentes componentes de la interfaz de usuario cliente. Para obtener más información, vea Información general sobre las propiedades de perfil de ASP.NET.

Clientes del servicio de aplicación

Esta sección proporciona detalles sobre los tipos de aplicaciones cliente que pueden usar servicios de aplicación ASP.NET y alguna información cómo el cliente se comunica con un servicio de aplicación.

Clientes de AJAX

Los clientes de AJAX (páginas web ASP.NET habilitadas para AJAX) intercambian datos con servicios de aplicación a través de HTTP mediante solicitudes POST. Los datos se empaquetan en formato JSON. La aplicación cliente se comunica con los servicios de aplicación a través de clases de proxy de script de cliente. El servidor genera las clases de proxy, que se descargan al explorador como parte de cualquier página que llame a un servicio de aplicación. Para obtener más información, vea Usar servicios web en ASP.NET para AJAX.

Clientes de .NET Framework

Los servicios de aplicación ASP.NET intercambian datos con clientes de .NET Framework a través de HTTP mediante solicitudes POST. Los datos se empaquetan en formato JSON. La aplicación cliente se comunica con los servicios de aplicación mediante el modelo de proveedor de .NET Framework. En los servicios de aplicación ASP.NET, el modelo de proveedor hace referencia a los tipos de cliente de .NET Framework y a los proveedores de suscripciones relacionados que almacenan y recuperan las credenciales de usuario de un origen de datos. Por ejemplo, aquí se incluye la clase SqlMembershipProvider.  

La comunicación entre el cliente y el servidor es sincrónica. Para obtener más información, vea Información general sobre los servicios de aplicaciones cliente. Los tipos que se definen en el espacio de nombres System.Web.ClientServices.Providers implementan los servicios de aplicación.

Para tener acceso a un servicio de aplicación, una aplicación cliente de .NET Framework se debe configurar de forma adecuada. La configuración del servidor es igual que la utilizada para los servicios de aplicación en AJAX.

Para obtener más información sobre el modelo de proveedor, vea Modelo de ASP.NET ASP.NET 2.0 Provider Model: Introduction to the Provider Model y Introducción a la suscripción.

Clientes de SOAP

Puede tener acceso a los servicios ASP.NET, de autenticación, perfil y servicios desde cualquier aplicación cliente en cualquier sistema operativo que puede usar el protocolo SOAP 1.1. Los servicios de aplicación ASP.NET están integrados en Windows Communication Foundation (WCF) e intercambian datos con el cliente en formato SOAP. Para obtener más información, vea XML Web Services Infrastructure en el sitio web de MSDN.

La comunicación entre el cliente y los servicios de aplicación se realiza mediante clases de proxy que se ejecutan en el cliente y que representan el servicio de aplicación. Puede generar clases de proxy compatibles con los servicios de aplicación ASP.NET mediante la utilidad Service Model Metadata Utility Tool (svcutil.exe). Para obtener más información, vea Tutorial: Usar servicios de aplicación ASP.NET.

Se admiten las clases de proxy siguientes:

  • Cliente de servicio de autenticación. La clase de proxy del cliente de servicio de autenticación generada permite utilizar el servicio de autenticación de cualquier aplicación cliente que pueda enviar y leer mensajes SOAP. Los usuarios de una aplicación ASP.NET y de una aplicación que no utiliza .NET Framework pueden realizar la autenticación con las mismas credenciales del usuario. Los vales de autenticación que emite el servicio se crean como cookies HTTP y son compatible con la autenticación de formularios de ASP.NET. Para obtener más información, vea Cómo: Habilitar el servicio de autenticación de WCF. Para obtener más información sobre los vales de autenticación, vea FormsAuthenticationTicket.

    Nota:

    El servicio de autenticación no admite la incrustación del vale de autenticación en la dirección URL. Por tanto, las cookies se deben admitir y habilitar en el cliente para conservar el vale de autenticación.

  • Cliente del servicio de función. El proxy del cliente del servicio de función generado permite utilizar el servicio de función de cualquier aplicación cliente que pueda enviar y leer mensajes SOAP. Para obtener más información, vea Cómo: Habilitar el servicio de funciones de WCF.

  • Cliente del servicio de perfil. El proxy del cliente del servicio de perfil generado permite utilizar el servicio de perfil de cualquier aplicación cliente que pueda enviar y leer mensajes SOAP. Los usuarios de una aplicación ASP.NET y de una aplicación que no utiliza .NET Framework pueden tener acceso a la misma configuración de usuario. Para obtener más información, vea Cómo: Habilitar el servicio de perfiles de WCF.

Volver al principio de la página

Ejemplos

Para obtener ejemplos sobre cómo llamar a los servicios de aplicación desde clientes de AJAX, vea los temas siguientes:

Para obtener ejemplos sobre cómo llamar a los servicios de aplicación desde clientes de .NET Framework, vea los temas siguientes:

Para obtener ejemplos sobre cómo llamar a los servicios de aplicación desde clientes de SOAP, vea los temas siguientes:

Volver al principio de la página

Referencia de clase

Las tablas siguientes muestran los principales tipos asociados con la llamada a servicios de aplicación ASP.NET desde aplicaciones cliente.

Espacios de nombres de cliente

La tabla siguiente muestra los espacios de nombres que contienen clases y tipos que se usan con script de cliente para llamar a servicios de aplicación ASP.NET.

Name

Description

Sys.Services (Espacio de nombres)

Contiene tipos que proporcionan acceso de script en aplicaciones AJAX de ASP.NET a los servicios de aplicación ASP.NET de autenticación, perfil y funciones. El espacio de nombres Sys.Services forma parte de Microsoft AJAX Library.

Espacios de nombres de servidor

La tabla siguiente muestra los espacios de nombres que contienen clases y tipos que admiten los servicios de aplicación ASP.NET en la programación del servidor.

Name

Description

System.Web.ApplicationServices

Proporciona clases que permiten tener acceso a servicios de aplicación web.

System.Web.ClientServices

Proporciona clases que admiten el acceso en aplicaciones basadas en Windows a los servicios de inicio de sesión, funciones y perfil de ASP.NET.

System.Web.ClientServices.Providers

Contiene proveedores de servicios de cliente y otras clases que admiten el acceso en aplicaciones basadas en Windows a los servicios de aplicación web.

Volver al principio de la página

Recursos adicionales

¿Qué es Windows Communication Foundation?

Entender la arquitectura orientada a servicios

Infraestructura de servicios web XML

Volver al principio de la página

Vea también

Tareas

Cómo: Habilitar el servicio de autenticación de WCF

Cómo: Habilitar el servicio de funciones de WCF

Cómo: Habilitar el servicio de perfiles de WCF

Conceptos

Usar servicios web en ASP.NET para AJAX