Featured Posts

Anunciando: Taller de Silverlight 4Anunciando: Taller de Silverlight 4 Antes que otra cosa, quiero agradecer a todos y todas quienes me ayudaron a contestar la encuesta que preparé en días pasados.  Recibí más de 250 respuestas de personas...

Readmore

Silverlight Tour–Guadalajara (08 al 10 de Septiembre... El interés y difusión de Silverlight como plataforma de desarrollo está siendo cada vez más grande y muchas empresas están optando por esta tecnología para construir...

Readmore

Curso gratuito de Introducción a Silverlight 4 – 2da. ParteCurso gratuito de Introducción a Silverlight... Tengo el gusto de informarles que ya está disponible la segunda parte del Curso gratuito de Introducción a Silverlight 4 en Español, el cual ahora consta de un total...

Readmore

Silverlight Tour en Español – Ahora con controles de Telerik!Silverlight Tour en Español – Ahora con... Tengo el gusto de informar que tal como sucede con el Silverlight Tour en USA y Canadá, ahora también el Silverlight Tour en Español en asociación con Telerik incluye...

Readmore

Rodrigo Díaz Concha Rss

Actualización a Silverlight 4.0.50826.0

Posted on : 01-09-2010 | By : Rodrigo | In : General, Silverlight 4, Tips

Tags: , ,

0

El día de hoy se liberó una actualización para Silverlight 4, la cual consta de diferentes mejoras generales y algunos fixes.  Entre los que puedo destacar es la mejora en el rendimiento de la carga inicial de aplicaciones y el soporte para la rueda del mouse para Aplicaciones Fuera del Navegador en Mac OS.

La información completa de esta actualización está documentada en esta dirección.  Tim Heuer también escribe al respecto.

SNAGHTML3369d67

Si son desarrolladores de Silverlight, les recomiendo ampliamente que instalen el Runtime de Desarrollador, y además que actualicen el SDK a esta versión.

image

Salu2!

  • Share/Bookmark

Anunciando: Taller de Silverlight 4

Posted on : 24-08-2010 | By : Rodrigo | In : Comunidades, Cursos, La Liga Silverlight, MVP, Silverlight 4, Web Casts

Tags: , , , , , , , , , ,

29

sl4logo

Antes que otra cosa, quiero agradecer a todos y todas quienes me ayudaron a contestar la encuesta que preparé en días pasados.  Recibí más de 250 respuestas de personas de diversos países: Argentina, Bolivia, Chile, Colombia, Costa Rica, Ecuador, El Salvador, España, Estados Unidos, Guatemala, México, Nicaragua, Perú y Venezuela.

Tomando en cuenta todas las respuestas, tengo el gusto en anunciarles el Taller de Silverlight 4: un curso constituído por 8 partes, de 1 hora cada una.  Se llevará a cabo en línea, por las noches.

Taller de Silverlight 4 : Back to Basics

Descripción

image

Este curso gratuito de 8 sesiones te ayudará a comprender los fundamentos de la plataforma de desarrollo de Silverlight y te servirá para tener los conocimientos necesarios para construir aplicativos Web de tipo RIA que hagan uso, validación y manipulación de datos.  La gran mayoría de estos conceptos los podrás aprovechar también para el desarrollo de soluciones de Windows Phone 7!

Nivel

Básico-Intermedio

Temario general

Partes 1 y 2: Fundamentos de Silverlight

Partes 3 y 4: Aplicaciones Fuera del Navegador

Partes 5 y 6: Enlace y Validación de Datos

Partes 7 y 8: Consumiendo Datos

Calendario

Sesión 1: 31 de Agosto 2010, 20:00 horas (-06:00 GMT)

Sesión 2: 01 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 3: 08 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 4: 09 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 5: 14 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 6: 23 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 7: 30 de Septiembre 2010, 20:00 horas (-06:00 GMT)

Sesión 8: 06 de Octubre 2010, 20:00 horas (-06:00 GMT)

Lugar

En Línea, a través de Live Meeting.  Utiliza los vínculos de arriba para entrar a cada sesión el día apropiado.

Grabaciones, código fuente y PPT

Los videos de las sesiones quedarán grabadas para poder descargarse posteriormente. Para descargar el video de cada sesión, usen el mismo vínculo que usan para registrarse, ahí encontrarán la descarga correspondiente. Aquí hay un artículo que explica paso a paso cómo hacerlo.

Finalmente…

No me queda mas que invitarlos a todos(as) a que asistan, estoy seguro de que aprenderán bastante de esta fabulosa tecnología!

Salu2!!!

  • Share/Bookmark

Silverlight Tour–Guadalajara (08 al 10 de Septiembre 2010)

Posted on : 24-08-2010 | By : Rodrigo | In : Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , , ,

0

image

El interés y difusión de Silverlight como plataforma de desarrollo está siendo cada vez más grande y muchas empresas están optando por esta tecnología para construir una gran gama de aplicaciones.  ¿Quieres aprender a profundidad Silverlight?

Les invito cordialmente a que se registren a El Curso de Silverlight:  el Silverlight Tour que se llevará a cabo del 08 al 10 de Septiembre 2010 en la ciudad de Guadalajara, Jalisco.  Esta es la última fecha en esta ciudad para el 2010.

El Silverlight Tour es un curso presencial, de tres días, súper profundo, acerca de Silverlight 4.  El material está totalmente en Español.  Si desean entrenarse en esta tecnología no hay mejor opción!

imageAsimismo les recuerdo que el Silverlight Tour incluye una licencia gratuita para cada asistente de los controles RadControls de Telerik, la cual tiene un valor comercial de 999 USD.

El registro está abierto.  Los esperamos!

  • Share/Bookmark

Conferencia en SG Virtual: “Una Guía Práctica para Silverlight 4”

Posted on : 12-08-2010 | By : Rodrigo | In : Comunidades, Conferencias, Eventos, MVP, Silverlight 4, Web Casts, Windows Phone 7

Tags: , , , , , ,

0

Invitado por mis buenos amigos de la revista Software Guru, estaré participando como ponente en el próximo evento SG Virtual que se llevará a cabo en línea el día 01 de Septiembre 2010: 

sgvirtual180-150SG Virtual Conference es un congreso en línea para profesionistas de software de habla hispana. Se llevará a cabo el 1 de septiembre de 2010 y todas las sesiones se realizarán por medio de conferencias web.

En SG Virtual Conference podrás enterarte de las últimas tendencias y prácticas más efectivas en desarrollo de software.

La asistencia a SG Virtual es gratuita pero limitada. Regístrate ya para guardar tu lugar.

Audiencia:

SG Virtual Conference está dirigido a profesionistas y empresarios del software. El perfil de la audiencia incluye: profesionistas (analistas, desarrolladores, gerentes), empresarios (servicios de TI, startups tecnológicos), y académicos (estudiantes y profesores de carreras de TI).

(Información tomada del sitio de SG Virtual)

El título de mi sesión es “Una Guía Práctica para Silverlight 4”.  El abstracto es el siguiente:

Silverlight ha evolucionado para convertirse en una excelente opción para construir aplicaciones enriquecidas para Internet (RIA por sus siglas en inglés).  Gracias a una gran cantidad de poderosas características podemos crear aplicaciones Web que no únicamente ejecuten de la manera tradicional, sino también afuera del navegador tal y como si se tratase de una aplicación de escritorio tradicional.  Sumado a esto, Silverlight es una de las plataformas de desarrollo soportadas para la próxima versión del sistema operativo móvil Windows Phone 7 por lo cual hoy en día conocer a detalle esta tecnología más que una tendencia se está convirtiendo en una necesidad.  En esta sesión conocerás los conceptos básicos para la construcción de aplicativos con Silverlight, las herramientas relacionadas, las técnicas y mejores prácticas y los recursos de aprendizaje disponibles hoy en día.

Les invito a que se registren a este evento a través del sitio de SG Virtual; ya que el cupo será limitado.  Además de esta sesión hay muchas más que seguramente encontrarán de mucho interés.

Salu2!

  • Share/Bookmark

Encuesta: Taller de Silverlight 4

Posted on : 11-08-2010 | By : Rodrigo | In : MVP, Silverlight 4, Web Casts

Tags: , , , , , , ,

17

sl4logosmallTengo la idea de realizar un Taller gratuito (presencial y/o en línea) acerca de Silverlight 4.  El Taller sería de 8 horas en el caso de ser presencial o de 8 sesiones de 1 hora cada una si fuese en línea.

Si están interesados(as), me gustaría me ayudaran a contestar la siguiente encuesta (son solamente 10 preguntas) para conocer un poco más el tipo de audiencia, localización geográfica y requerimientos para poder establecer una agenda que pueda ayudar a más personas.  La encuesta estará en línea durante un par de semanas aproximadamente y después de este tiempo analizaré las respuestas para poder aterrizar la idea y hacer los anuncios correspondientes (fechas, horarios, título, objetivos, etc.).

Asimismo si tuviesen cualquier tipo de sugerencia, recomendación o tip al respecto por favor háganlo en los comentarios de este mismo post.  ¡Muchas gracias por su colaboración!

Solo les tomará 1 minuto.  Al finalizar por favor hagan clic en el botón “Submit Survey”

UPDATE: 18/Ago/2010: La encuesta estará disponible hasta el Viernes 20 de Agosto 2010.

UPDATE 21/Ago/2010: MUCHAS gracias a todos los que me ayudaron a contestar la encuesta para el Taller de de Silverlight 4.  Recibí más de 250 respuestas.  Me da mucho gusto el interés que ha despertado esta iniciativa y principalmente el interés que se tiene de Silverlight.  El día martes 24 de Agosto 2010 postearé los resultados de la encuesta, las fechas para el taller, sus objetivos, horario, etc.etc. basándome en sus respuestas.  Nuevamente: GRACIAS!

  • Share/Bookmark

Entrevista en Microsoft Café TV

Posted on : 02-08-2010 | By : Rodrigo | In : Conferencias, MVP, Silverlight 4, Windows Phone 7

Tags: , , , , ,

3

imageTengo el honor de ser el invitado para un próximo episodio del programa Microsoft Café TV, que conduce mi buen amigo Ricardo Jiménez desde Costa Rica.

Microsoft Café TV es un programa en vivo, para desarrolladores de software, profesionales de IT, diseñadores Web, emprendedores y estudiantes.

El programa se transmitirá en vivo el día Jueves 12 de Agosto 2010 a las 19:00 horas 20:00 horas (hora de MEX, GDL, MTY), por favor tómenlo en cuenta para saber su hora local) y el tema central será por supuesto: Silverlight.

sl4logosmallHablaremos de Silverlight como propuesta tecnológica para la construcción de aplicativos RIA, cómo iniciar, sus herramientas, sus técnicas de acceso a datos, su relación con el inminente Windows Phone 7, los recursos de aprendizaje disponibles hoy en día, etc.  Lo importante de este programa es que ya que se trata de un evento en vivo podrán exponer sus dudas y preguntas para poder ayudar a resolvérselas.  También cabe aclarar que mi transmisión será vía remota (como todos ustedes también Smile)

Asimismo les invito que sigan vía Twitter a Microsoft Café TV y también a Ricardo quien también en su blog escribe frecuentemente artículos acerca de las novedades tecnológicas de la plataforma Microsoft.

Los esperamos!!!

Update 13/Ago/2010

Pueden ver los videos del Episodio 11 de Microsoft Café TV en las siguientes direcciones:

http://www.ustream.tv/recorded/8893117

http://www.ustream.tv/recorded/8890774

http://www.ustream.tv/recorded/8890275

  • Share/Bookmark

Documentación de Silverlight 4

Posted on : 14-07-2010 | By : Rodrigo | In : General, Silverlight 4, Tips

Tags: ,

0

silverlight-logo

Ya está disponible la documentación fuera de línea (offline) de Silverlight 4 totalmente actualizada.  Esta descarga es básica para todo desarrollador de Silverlight ya que puedes revisar la información técnica de la plataforma y su API incluso sin conexión a Internet.

 

La descarga está aquí.  Espero les sirva!

Salu2!

  • Share/Bookmark

Silverlight 4 – Conexión Local

Posted on : 21-06-2010 | By : Rodrigo | In : Silverlight 4

Tags: ,

3

Silverlight 4 – Conexión Local

 

Introducción

(Este artículo fue escrito originalmente para Silverlight 3 el cual podrán encontrar en esta dirección.)

En Silverlight 4 tenemos una característica que permite comunicarnos entre diferentes aplicaciones dentro de la misma máquina.  Esta característica está bautizada como Conexión Local (Local Connection en inglés).

Esta funcionalidad nos ofrece un mecanismo poderoso para poder complementar nuestros aplicativos que requieran tener comunicación entre sí, ya que implementar esta característica es bastante sencillo como lo demostraremos en este artículo.

System.Windows.Messaging

Todas las clases necesarias para la implementación de la conexión local entre aplicaciones están incluidas en el espacio de nombres System.Windows.Messaging

Clase LocalMessageSender

Esta clase permite el envío de mensajes a un receptor por medio del nombre especificado.  Además permite establecer el nombre del dominio en el que se encuentra el receptor.  Incluye el método SendAsync() el cual enviará el mensaje de manera asíncrona al receptor.  Una vez enviado el mensaje se disparará el evento SendCompleted, el cual incluye en sus argumentos la propiedad Error la cual nos indica si sucedió una excepción durante el envío del mensaje.

Clase LocalMessageReceiver

Análoga a la clase LocalMessageSender, esta clase nos permite recibir mensajes.  También aquí establecemos el nombre del receptor, que deberá concordar con el nombre establecido en el objeto de tipo LocalMessageSender.  Una vez recibido un mensaje se dispara el evento MessageReceived el cual incluye en sus argumentos la propiedad Message de tipo string, misma que contiene el mensaje enviado por la aplicación origen.

Además de esto podemos especificar los dominios válidos de los que puede recibir mensajes este objeto!

Modelo Publicador-Subscriptor

Es a través de este modelo publicador-subscriptor por el cual podemos implementar comunicación entre diferentes aplicaciones de Silverlight 4 en la misma página, o en diferentes pestañas del Navegador… incluso entre diferentes instancias de Navegadores, INCLUSO entre diferentes tipos de Navegadores (Internet Explorer, Firefox, Chrome, Safari, etc.!).

Es importante mencionar además que una aplicación de Silverlight no está limitada a ser únicamente publicador o subscriptor, sino que puede ser ambos!  Esto es, podemos establecer una comunicación local bidireccional entre aplicaciones.  El único requisito es tener los objetos LocalMessageSender y LocalMessageReceiver en cada aplicación de manera correcta.

La Solución

La solución que crearemos estará compuesta de dos aplicaciones Silverlight.  La aplicación Origen permitirá la captura de contenido Xaml dentro de un TextBox e incluirá un botón para enviar el Xaml a la aplicación Destino.

La aplicación Destino por su parte estará escuchando nuevos mensajes que le envíe la aplicación Origen.  Cuando llegue efectivamente un mensaje, interpretará el Xaml convirtiendo todo el árbol de contenido en los elementos visuales correspondientes al código, y los dibujará dentro de un Grid llamado LayoutRoot.

Ambos proyectos de Silverlight estarán contenidos en una misma solución, la cual también incluirá una Aplicación Web para poder probar la funcionalidad.  Además ambos proyectos estarán relacionados a la misma Aplicación Web para que nos cree automáticamente las páginas de prueba.  La siguiente figura muestra la estructura de la solución:

Origen

La aplicación Origen contiene un TextBox para escribir una cadena de Xaml válida que se enviará al destino.  Además contiene un botón que hará efectivamente el envío del mensaje.  El siguiente fragmento de código muestra la implementación de la aplicación Origen:

   1: using System.Windows;

   2:  

   3: using System.Windows.Controls;

   4:  

   5: using System.Windows.Messaging;

   6:  

   7:  

   8:  

   9: namespace SL3ConexionLocal.Origen

  10:  

  11: {

  12:  

  13:     public partial class MainPage : UserControl

  14:  

  15:     {

  16:  

  17:         LocalMessageSender sender;

  18:  

  19:         public MainPage()

  20:  

  21:         {

  22:  

  23:             InitializeComponent();

  24:  

  25:  

  26:  

  27:             sender = new LocalMessageSender("SL3ConexionLocal");

  28:  

  29:             

  30:  

  31:             SendXamlButton.Click += (s, a) =>

  32:  

  33:             {

  34:  

  35:                 sender.SendAsync(XamlTextBox.Text);

  36:  

  37:             };

  38:  

  39:             

  40:  

  41:             sender.SendCompleted += (s, a) =>

  42:  

  43:             {

  44:  

  45:                 if (a.Error != null)

  46:  

  47:                 {

  48:  

  49:                     MessageBox.Show(a.Error.Message);

  50:  

  51:                 }

  52:  

  53:             };

  54:  

  55:             

  56:  

  57:         }

  58:  

  59:  

  60:  

  61:     }

  62:  

  63: }

  64:  

Destino

La aplicación Destino recibirá el mensaje enviado por el Origen:

   1: using System;

   2:  

   3: using System.Windows;

   4:  

   5: using System.Windows.Controls;

   6:  

   7: using System.Windows.Messaging;

   8:  

   9: using System.Windows.Markup;

  10:  

  11:  

  12:  

  13: namespace SL3ConexionLocal.Destino

  14:  

  15: {

  16:  

  17:     public partial class MainPage : UserControl

  18:  

  19:     {

  20:  

  21:         public MainPage()

  22:  

  23:         {

  24:  

  25:             InitializeComponent();

  26:  

  27:  

  28:  

  29:             //Receptor/Receiver

  30:  

  31:             //Podemos especificar los dominios válidos de los que podrás recibir mensajes!

  32:  

  33:             //We can specify the domains where this object can receive messages from!

  34:  

  35:  

  36:  

  37:             LocalMessageReceiver receiver = new LocalMessageReceiver("SL3ConexionLocal");

  38:  

  39:             receiver.MessageReceived += (s, a) =>

  40:  

  41:             {

  42:  

  43:                 string message = a.Message;

  44:  

  45:                 try

  46:  

  47:                 {

  48:  

  49:                     UIElement newContent = (UIElement)XamlReader.Load(message);

  50:  

  51:  

  52:  

  53:                     LayoutRoot.Children.Clear();

  54:  

  55:                     LayoutRoot.Children.Add(newContent);

  56:  

  57:                 }

  58:  

  59:                 catch (Exception)

  60:  

  61:                 {

  62:  

  63:                     MessageBox.Show("No es un Xaml válido");

  64:  

  65:                 }

  66:  

  67:                 

  68:  

  69:             };

  70:  

  71:             receiver.Listen();

  72:  

  73:         }

  74:  

  75:     }

  76:  

  77: }

  78:  

Noten cómo se establece el nombre del receptor como “SL3ConexionLocal”.  Posteriormente se comienza a escuchar por mensajes usando el método Listen() y cuando uno es recibido efectivamente se interpreta a un objeto de tipo UIElement a través del método XamlReader.Load().

Al ejecutar la aplicación Origen en un Navegador y la aplicación Destino en otro (usando las páginas de prueba creadas automáticamente para cada aplicación) podemos comprobar esta funcionalidad:

Resumen

La Conexión Local incorporada en Silverlight 4 permite comunicarnos de una aplicación a otra a través de un mecanismo de publicación-subscripción.  Esta interesante y poderosa funcionalidad abre nuevos paradigmas en el desarrollo de aplicaciones RIA, ya que su modelo de programación es bastante sencillo y sus alcances en soluciones con Silverlight son innumerables.

  • Share/Bookmark

Silverlight 4 – Conciencia de Conexión

Posted on : 21-06-2010 | By : Rodrigo | In : Silverlight 4

Tags: ,

0

Silverlight 4 -  Conciencia de Conexión

El espacio de nombres System.Net.NetworkInformation de Silverlight, nos permite implementar una funcionalidad de “conciencia” de conexión en nuestras aplicaciones, esto es, saber en un momento dado si la aplicación está ejecutándose en un ambiente conectado o ha perdido la conexión; para poder determinar un comportamiento correcto en cada uno de esos escenarios.  Esta funcionalidad nos sirve tanto para aplicaciones que se estén ejecutando dentro del Navegador como en Aplicaciones Fuera del Navegador.

Clase NetworkInterface

Esta clase abstracta incluye el método estático GetIsNetworkAvailable(), el cual nos indica si hay una conexión de red o no.

Es muy importate mencionar que este método NO indica si hay una conexión a Internet.  Una manera para conocer si tenemos una conexión a Internet es hacer ping a un sitio conocido y con alta disponibilidad (ejemplo: www.microsoft.com, o www.yahoo.com, etc.) y/o utilizar las clase WebClient para descargar un archivo conocido en nuestro servidor donde esté hospedada la aplicación, por ejemplo: un archivo de texto pequeño que podamos descargar y leer para determinar si efectivamente tuvimos acceso a través de Internet.

El siguiente fragmento de código muestra cómo podemos utilizar NetworkInterface.GetIsNetworkAvailable() para determinar si tenemos una conexión de red:

   1: public MainPage()

   2: {

   3:     InitializeComponent();

   4:  

   5:     btn.Click += (s, a) => 

   6:     { 

   7:         txt.Text = NetworkInterface.GetIsNetworkAvailable().ToString(); 

   8:     };

   9: }

Clase NetworkChange

Un paso más adelante en esta funcionalidad está la clase NetworkChange la cual incluye el evento NetworkAddressChanged.  Este evento es disparado cuando hay un cambio en el estado de la conexión de red y está basado en el delegado NetworkAddressChangedEventHandler.  Si lo usamos junto con NetworkInterface.GetIsNetworkAvailable() podemos tener un mecanismo para automáticamente saber si nuestra aplicación está ejecutándose en un ambiente con o sin conexión.

   1: public MainPage()

   2: {

   3:     InitializeComponent();

   4:  

   5:     NetworkChange.NetworkAddressChanged += (s, a) =>

   6:     {

   7:         if (NetworkInterface.GetIsNetworkAvailable())

   8:         {

   9:             //Se ha restablecido la conexión de red

  10:         }

  11:         else

  12:         {

  13:             //No ha conexión de red

  14:         }

  15:     };

  16:     

  17: }

Nota: Este evento no se disparará si simplemente pones tu Navegador ‘Work Offline’

Construyendo la Clase NetworkChangeExtended

Gracias a que la clase NetworkChange no está marcada como sellada, podemos crear fácilmente una clase que extienda esta funcionalidad para determinar no solo si hay conectividad de red, sino determinar que exista realmente conexión a Internet.

A continuación les presento el código de una clase llamada NetworkChangeExtended, la cual efectivamente hereda de NetworkChange pero que incluye la funcionalidad para detectar si hay conexión de Internet o no, por medio del uso de un objeto de tipo WebClient para descargar un archivo de texto llamado Archivo.txt.  Archivo.txt deberá estar en el sitio de origen (/ClientBin de manera predeterminada) y deberá contener algo de texto.

   1: using System;

   2: using System.Net;

   3: using System.Net.NetworkInformation; 

   4:  

   5: namespace SL4ConcienciaConexion

   6: {    

   7:     

   8:     public class InternetAvailableEventArgs : EventArgs    

   9:     {        

  10:         public bool Available { get; set; }    

  11:     }

  12:  

  13:     public class NetworkInterfaceExtended : NetworkInterface    

  14:     {         

  15:         public static event EventHandler<InternetAvailableEventArgs> InternetAvailable;               

  16:         /// <summary>        

  17:         /// Español: Indica si hay conexión a Internet por medio de la descarga de un archivo a través de un objeto WebClient        

  18:         /// English: Indicates if there's Internet connection available through the download of a file using a WebClient object        

  19:         /// </summary>        

  20:         public static void GetIsInternetAvailable()        

  21:         {            

  22:             bool result = false;            

  23:             if (GetIsNetworkAvailable())            

  24:             {                

  25:                 WebClient client = new WebClient();                

  26:                 client.DownloadStringCompleted += (s, a) =>                

  27:                 {                    

  28:                     if (a.Error == null)                    

  29:                     {                        

  30:                         if (!string.IsNullOrEmpty(a.Result))                        

  31:                         {                            

  32:                             result = true;                        

  33:                         }                    

  34:                     }                    

  35:                     else                    

  36:                     {                        

  37:                         result = false;                    

  38:                     }                     

  39:                     OnInternetAvailable(result);                

  40:                 };                

  41:                 client.DownloadStringAsync(new Uri("Archivo.txt", UriKind.RelativeOrAbsolute));            

  42:             }            

  43:             else            

  44:             {                

  45:                 OnInternetAvailable(result);            

  46:             }         

  47:  

  48:         }   

  49:                

  50:         private static void OnInternetAvailable(bool available)        

  51:         {            

  52:             if (InternetAvailable != null)            

  53:             {                

  54:                 InternetAvailable(null, new InternetAvailableEventArgs() { Available = available });            

  55:             }        

  56:         }    

  57:     }

  58: }

Para usarla simplemente nos inscribimos al evento InternetAvailable, el cual se disparará cuando haya un cambio en el estado de la conexión a Internet.

   1: using System.Windows.Controls;

   2: using System.Net.NetworkInformation;

   3: namespace SL4ConcienciaConexion 

   4: { 

   5:     public partial class MainPage : UserControl 

   6:     { 

   7:         public MainPage() 

   8:         { 

   9:             InitializeComponent(); 

  10:             NetworkInterfaceExtended.InternetAvailable += (s, a) => 

  11:             { 

  12:                 txt.Text = a.Available.ToString(); 

  13:             }; 

  14:             Loaded += (s, a) => 

  15:             { 

  16:                 NetworkInterfaceExtended.GetIsInternetAvailable(); 

  17:             }; 

  18:             NetworkChange.NetworkAddressChanged += (s, a) => 

  19:             { 

  20:                 NetworkInterfaceExtended.GetIsInternetAvailable(); 

  21:             }; 

  22:         } 

  23:     } 

  24: }

Resumen

La funcionalidad de Conciencia de Conexión presente en Silverlight 4 es un instrumento bastante útil para que nuestras aplicaciones puedan determinar si están ejecutando en un ambiente con conectividad de red o no.  Asimismo, vimos cómo es fácil extender dicha funcionalidad para incluir un mecanismo de detección de acceso a Internet, a través de una clase que extienda la clase NetworkInterface y que haga uso de un objeto WebClient para descargar asíncronamete un archivo del servidor, por lo tanto determinar la presencia de una conexión a Internet.

  • Share/Bookmark

Silverlight Tour – Buenos Aires, Argentina (21 de Julio 2010)

Posted on : 21-06-2010 | By : Rodrigo | In : Eventos, Silverlight 4, Silverlight Tour Workshop, Uncategorized

Tags: , , , , , ,

0

July 21, 2010toJuly 23, 2010

El Curso de Silverlight: El Silverlight Tour Workshop en Español llegará a la capital Argentina el próximo 21 de Julio 2010.  El Silverlight Tour Workshop es un curso de tres días (27 horas) de alta profundidad técnica acerca de Silverlight 4. El curso se imparte en varios idiomas en diferentes países en todo el Mundo y está actualizado a Silverlight 4.  Además el material está totalmente en Español.

Silverlight Tour - Buenos Aires

image

Les recuerdo que ahora el curso incluye una licencia gratis de la suite de controles RadControls for Silverlight de Telerik para cada participante con un valor comercial de 999 USD.

Si necesitan más información acerca del curso pueden consultar las Preguntas Frecuentemente Preguntadas (FAQ) y/o los sitios oficiales en español e inglés.

¡Los esperamos!

  • Share/Bookmark