CARGAR DATA GRID SILVERLIGHT + SQLSERVER 2005 2da PARTE

Saludos, continuaremos con el articulo, ahora nos toca publicar el Web Service en nuestro IIS, para lo cual previamente hemos debido instalarlo, lo podemos comprobar escribiendo en la URL, lo siguiente: http://localhost/ , si todo esta instalado correctamente les mostrará lo siguiente:

 Bien ahora publicaremos nuestra aplicación, que fue donde nos quedamos en la 1ra parte de este articulo.
En la ubicación de destino vemos que apuntamos a la direccion del IIS C:\inetpub\wwwroot , que despues de dar clic en Publicar vamos a la carpeta y esta asi:

Listo, ahora veremos si nuestro Web Service fué publicado correctamente, debemos escribir en el navegador lo siguiente: http://localhost/WebServiceDemo.asmx
Les deberia aparecer lo siguiente:


Listo, ya tenemos el Web Service Corriendo con el IIS, ahora regresamos a la Aplicacion en Silverlight y agregamos una Referencia Web, para consumir el Web Services desde Silverlight.


Y hacemos referencia al Web Service que hemos creado y publicado.


Luego damos clic en Aceptar y veremos que en nuestro proyecto se generará algo asi.


Listo, ahora vamos a la Pagina MainPage.xaml, seleccionamos el datagrid y le creamos un Evento Loaded, como lo siguiente:
<UserControl x:Class="Ejm01.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk">

    <Grid x:Name="LayoutRoot" Background="White">
        <sdk:DataGrid AutoGenerateColumns="True"
         Height="142" HorizontalAlignment="Left"
         Margin="12,86,0,0" Name="dgAlumnos"
         VerticalAlignment="Top" Width="376" Loaded="dgAlumnos_Loaded" />
    </Grid>
</UserControl>



Ahora en el evento  dgAlumnos_Loaded, debemos escribir las Siguientes Lineas de Codigo.
private void dgAlumnos_Loaded(object sender, RoutedEventArgs e)
        {
            WebServiceDemoSoapClient ws = new WebServiceDemoSoapClient();
            ws.GetCustomersCompleted += (s, a) =>
            {
                dgAlumnos.ItemsSource = a.Result;
            };
            ws.GetCustomersAsync();
        }



Si ejecutamos la aplicacion, veremos que nos Saldra un ERROR como el Siguiente:



Bueno no se alarmen la solucion es sencilla, solo deben crear 2 archivos XML, con los siguientes nombes y contenidos y que esten alojados en la DIRECCION RAIZ DEL IIS, osea c:\inetpub\wwwroot
  1. clientaccesspolicy.xml
  2. crossdomain.xml 
 
Clientaccesspolicy.xml

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>



crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
</cross-domain-policy>


Bueno estoy archivos necesita la aplicacion Silverlight para poder, para tener la Autorizacion de Extraer los Datos y ejecutar los Metodos del Web Service.

El Directorio quedaria finalmente asi.
Ahora Solo nos quedaria Ejecutar la aplicacion Silverlight y ver los Resultados:


Espero les aya ayudado en algo este Articulo, cualquier duda o paso que me haya salteado, por favor comenten y estaré gustoso de responder sus consultas.

Hasta la Proxima.

Comments

Popular posts from this blog

Error al Iniciar Oracle SQL Developer 11g - Unable to find Java Virtual Machine

Como Mantener el Scroll despues de un PostBack ASP.net ( As Maintain Scroll after a PostBack ASP.net )

How to run ng serve in a different port
Como ejecutar ng serve en un puerto diferente