Tutorial Gráfico Silverlight: Consumiendo Servicios

 

En este tutorial veremos algunas cómo desarrollar un servicio sencillo y consumirlo desde una aplicación Silverlight 2, además usaremos el control DataGrid y el Popup control.

En el siguiente tutorial se mostrarán los pasos generales e importantes para crear un servicio WCF, crear una aplicación Silverlight 2 y consumir el servicio. Al final se provee un enlace al proyecto con el código fuente para que se lo descarguen y lo revisen a mayor detalle.

Requisitos:

  • Visual Studio 2008 SP1
  • Expression Blend 2
  • Silverlight Tools para Visual Studio 2008
  • Soliverlight Toolkit Marzo 2009

 

Paso 1: Crear un Servicio para Silverlight

Partiendo de una solución vacía, creamos un nuevo proyecto tipo ASP.NET Web Service, borramos el servicio que VS2008 crea de forma automática y agregamos un nuevo elemento tipo “Silverlight-enabled WCF Service” que llamaremos SimpleService.svc como se ve en la siguiente  figura:

Imagen 2

Esto creará la siguiente plantilla para escribir nuestro servicio:

Imagen 1

Nuestro leerá datos de un archivo XML y tendrá dos métodos, uno que retorne la lista completa de usuarios y otro que retorne un usuario en particular.

Al proyecto agregamos un nuevo archivo XML con los siguientes datos:

Imagen 3

Y luego creamos una nueva clase para representar cada usuario:

Imagen 4

Finalmente, escribimos el código complete del servicio:

Imagen 7

Ejecutamos el proyecto y se nos deberá presentar la siguiente pantalla indicando que nuestro servicio está levantado.

Imagen 5

 

Paso 2: Crear una nueva aplicación Silverlight

Agregamos un nuevo proyecto a la solución, de tipo “Silverlight Application” a la que llamaremos MySilverlightApp.

Imagen 8 

El asistente de VS2008 nos preguntará si deseamos crear una aplicación Web para hospedar y probar nuestra aplicación y presionamos OK:

Imagen 9

Hasta este punto nuestra solución se verá algo así:

Imagen 10

Usando Blend 2 o VS008 editamos el archivo Page.xaml para crear la interfaz gráfica de nuestra aplicación que estará formada por una caja de texto, dos botones y un Grid (Disponible en el Silverlight Toolkit Mazo 2009)

Imagen 12 

Desde VS2008 procedemos a enlazar los eventos Click de ambos botones al código en C#, esto se hace de forma sencilla desde VS2008:

Imagen 13

 

Paso 3: Consumir el Servicio

Lo siguiente será agregar una referencia al servicio y escribir el código para consultar los datos. Para agregar la referencia al servicio damos clic derecho sobre la solución y seleccionamos “Add Service Reference”, del cuadro de dialogo seleccionamos nuestro servicio y presionamos aceptar:

Imagen 6

Algo interesante es que en Silverlight todos los servicios son asincrónicos, de tal forma que en nuestro código tendremos que manejar los eventos de cuando se termine de ejecutar una operación, El código fuente de page.xaml.cs quedaría así:

Imagen 100 

Ejecutamos nuestra aplicación y se verá algo así:

Imagen 15

Pero al presionar el botón “Find All” recibiremos una EXCEPCION al tratar de conectar con el servicio Web:

Imagen 14

Esta se debe a un tema de seguridad de comunicación entre dominios, la forma de resolver esto es muy simple, se agrega un archivo XML en la raíz del servicio Web con las políticas de acceso para los clientes, el archivo se llama clientaccesspolicy.xml y tendrá el siguiente contenido:

Imagen 17

Volvemos a probar nuestra aplicación y listo:

Imagen 16

Hemos creado una aplicación en Silverlight que consume un servicio WCF y hemos configurado las políticas de acceso del cliente al servicio.

 

El proyecto completo lo pueden descargar desde aquí.

Una respuesta to “Tutorial Gráfico Silverlight: Consumiendo Servicios”

  1. Scorgue Says:

    Excelente tutotial, descriptivo para los que empiezan.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: