¿ Servicios REST con diferente serialización Json ?

Resulta que estos días he estado jugando un poco con WCF y serialización JSON para participar en el nuevo concurso de MSDN http://www.lahoradelospunos.com

En resumen lo que hay que hacer es un Servicio REST accesible desde peticiones HTTP GET que devuelva la secuencia de movimientos conforme el siguiente esquema.

{
  "Alias": "My_alias",
  "Moves": "A1, A2, B1, A1, ME, A1, A2, B1, B2, B1",
  "Enemy": "Enemy_name"
}

Pero el problema viene cuando genero la página para acceder manualmente al servicio desde una página web propia y pretendo hacerlo compatible con las llamadas de cliente MS AJAX.

WCF accesible desde ASP.NET AJAX:

Para hacer accesible el servicio y poderlo consumir desde ASP.NET AJAX solo hay que especificar el parámetro Factory de la directiva @ServiceHost en el archivo .svc como WebScriptServiceHostFactory.

image

Desde ese momento la salida de mi objeto JSon tiene el siguiente formato:

{
  "d":
 {
   "__type":"Ataque:#KillBits",
   "Alias":"Marckys ",
   "Enemy":"Cliente",
   "Moves":"A2,A2,B1,A2,A2,A2,ME,A1,B1,A2"
 }
}

UPSSS!!! no tiene el mismo formato que me piden en el concurso. Sigue leyendo

Anuncios

Centrar UpdateProgress en un UpdatePanel ( JQuery )

Todos conocemos el control UpdateProgress de ASP.NET y el gran avance que supone para la experiencia de usuario cuando trabajamos con UpdatePanels.

Pero para mi gusto le ha faltado poder posicionar ese control sobre el panel que estamos actualizando y de esta manera dejar mucho más claro al usuario que parte de la pantalla estamos actualizando.

Para eso después de consultar muchos ejemplos que no me terminaban de convencer y con un poquito de imaginación he utilizado un poquito de Javascript para poder realizar este efecto.

Comencemos con los controles que necesitamos para recrear este efecto:

  • Progress.ascx: Este control de usuario es el que contendrá la barra de proceso, en este caso una animación y una label con el texto “cargando…”, la ventaja de utilizar un control de usuario es que no tendremos que repetir el código para cada página que necesitemos una barra de progreso y si nuestra aplicación es multiidioma podremos utilizar los recursos para mostrar el mensaje en el idioma adecuado.

Sigue leyendo

ASP.NET AJAX TabControl – Tabs Optimizados

Bueno el hecho de decir que vamos a optimizar la carga de datos con un updatePanel es un poco contradictorio pero si lo utilizamos con un poco de cabeza y no solo para no ver la carga de la página podemos optimizar la utilización de este control.

La idea sería solo cargar la información de cada TabPanel dentro de un TabControl cuando sea necesario y no todo el control al cargar la página.

Para hacer esto tenemos que tener dos cosas claras.

  • Utilizaremos un updatePanel para actualizar cada TabPanel
  • Utilizaremos los Triggers del upDatePanel para capturar el evento ActiveTabChanged del TabContainer.

Que es eso de la colección de Triggers?

  • Habilitan que los eventos de controles fuera del UpdatePanel puedan actualizar su contenido.

Empezaremos ya con nuestro ejemplo. Sigue leyendo