Featured Posts

Diplomado de desarrollo de aplicaciones para Windows Phone 7.1–LatinoaméricaDiplomado de desarrollo de aplicaciones para Windows... Los invito cordialmente a que se inscriban al Diplomado de desarrollo de aplicaciones para Windows Phone 7.1, impulsado por Microsoft México para todo el mundo!  Completamente...

Readmore

Nueva carrera en Microsoft Virtual Academy: Windows Phone 7.1 (Mango)Nueva carrera en Microsoft Virtual Academy: Windows... Tengo el gusto de darles a conocer la disponibilidad de una nueva carrera en el Microsoft Virtual Academy (MVA): La carrera de Windows Phone 7.1 Mango. Esta es la descripción...

Readmore

Nueva carrera en Microsoft Virtual Academy: Silverlight 4Nueva carrera en Microsoft Virtual Academy: Silverlight... ¿Eres estudiante de Microsoft Virtual Academy (MVA)? Tengo el gusto de anunciarles oficialmente el lanzamiento de la nueva carrera de Silverlight 4 para esta plataforma educativa. La...

Readmore

Rodrigo Díaz Concha Rss

Recordatorio: Silverlight Tour–Ciudad de Guatemala, Guatemala (09-11 de Febrero 2011)

Posted on : 03-02-2011 | By : Rodrigo | In : Cursos, Eventos, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , ,

0

imageComo había anunciado anteriormente, el Silverlight Tour se llevará a cabo por primera vez en la capital de Guatemala del 09 al 11 de Febrero 2011 en las oficinas de Microsoft Guatemala.

 

SLT_Trans

El Silverlight Tour es el curso de entrenamiento más famoso de Silverlight que da la vuelta al mundo entero.  Su duración es de 3 días con un horario de 08:00 a 18:00 horas.  Si están buscando entrenamiento profundo acerca de Silverlight y completamente en Español esta es su mejor opción!

Les recuerdo que gracias a Microsoft Guatemala se ha establecido un Descuento del 50% directo sobre el precio regular.  El curso será en:

Microsoft Guatemala
14 calle 2-51 zona 10
Edificio Intercontinental Nivel 11 Oficina 1101, Teléfono 502 23793000
Salón Atitlan
Guatemala, Guatemala

El registro continúa abierto y lo pueden hacer en esta página.

Para mayor información, pueden visitar el sitio oficial del curso o el Blog de Ricardo Jiménez.

Los esperamos!

Reunión de la Comunidad .NET Guatemala (08 de Febrero 2011)

Posted on : 03-02-2011 | By : Rodrigo | In : Comunidades, Conferencias, Eventos, MVP, Silverlight 4

Tags: , , , , , , ,

0

ComunidadNETGuatemalaLes invito cordialmente a todos(as) que asistan a la próxima reunión de la Comunidad de Desarrolladores .NET de Guatemala en donde tengo el honor de haber sido invitado como orador.

La cita es el próximo martes 08 de Febrero 2011, los datos completos a continuación:

Fecha: Martes 8 de Febrero de 2011
Hora: De 6:30pm a 8:30pm
Lugar Oficinas de Microsoft de Guatemala
Dirección: 14 calle 2-51 zona 10, Edificio Intercontinental Nivel 11 Oficina 1101
Precio: ¡¡Gratis!!
Habrá premios por participación

En esta sesión hablaremos de Silverlight 4.  Si tienen dudas acerca de esta plataforma de desarrollo, o acerca de Windows Phone 7 por favor traiganlas para ayudarles a resolverlas!

Toda la información completa y el registro lo pueden encontrar aquí.

Allá nos vemos!!! Será un verdadero gusto conocerles.

Salu2!

Recordatorio: Silverlight Tour–San Salvador, El Salvador (02-04 de Febrero 2011)

Posted on : 27-01-2011 | By : Rodrigo | In : Cursos, Eventos, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , , , ,

0

San Salvador WikipediaComo mencioné en un post pasado, el Silverlight Tour llegará por primera vez a la capital Salvadoreña del 02 al 04 de Febrero 2011.

El Silverlight Tour, con temario revisado y mejorado con enfoque a la creación de aplicativos de negocio (LOB) con Silverlight es el mejor curso de entrenamiento en esta tecnología.

El curso se llevará a cabo en:

Microsoft El Salvador

Salón Costa del Sol

89 ave Norte y Calle el Mirador

Edif World Trade Center

Torre 2 Nivel 5, Colonia Escalon

San Salvador,  El Salvador

Lo mejor de todo es que establecimos una alianza con Microsoft El Salvador para ofrecer un 50% de Descuento a todos los asistentes de este curso.  La fecha límite de registro es el próximo martes 01 de Febrero, así que les sugiero no dejen pasar esta oportunidad para aprender Silverlight a profundidad.

Para mayor información pueden visitar los blogs de Ricardo Jiménez (Microsoft) y Rolando Peralta (Communities in a Box)

Nos vemos en San Salvador!

Cómo obtener la dirección IP local desde una aplicación de Silverlight

Posted on : 07-01-2011 | By : Rodrigo | In : Silverlight 4

Tags: , ,

4

Introducción

Existen una gran cantidad de escenarios en donde es necesario conocer la dirección IP local de la máquina en donde está corriendo una aplicación, principalmente por cuestiones de auditoría, seguridad, etc.  A partir de Silverlight 4 contamos con la posibilidad de ejecutar las aplicaciones Afuera del Navegador en un modelo de seguridad de Confianza Elevada, es decir, rebasando las restricciones inherentes a esta tecnología Web para que los aplicativos puedan comportarse casi como si se tratasen de una aplicación de escritorio tradicional.

En el caso de aplicaciones de Silverlight tradicionales (dentro del navegador) podríamos conocer la dirección IP del usuario en el Servidor.  Pero ¿qué pasa con Aplicaciones Fuera del Navegador, en donde no tenemos la seguridad de que se cuente con acceso a un Servidor y mucho menos conectividad como tal?

En este artículo veremos cómo podemos obtener la dirección IP local del equipo desde una aplicación de Silverlight 4 que esté ejecutando en Confianza Elevada, a través del uso de WMI (acrónimo de Windows Management Instrumentation): la infraestructura de administración de datos (de hardware y software) y notificaciones en los Sistemas Operativos Windows.

WMI

Con WMI podemos obtener información detallada acerca del hardware y software local en el equipo, así como de equipos remotos, a través de lenguajes de script, PowerShell o incluso por medio de herramientas utilitarias que hayan sido creadas para conectarse al repositorio de componentes de WMI.  Por ejemplo, en el sistema operativo Windows existe el comando WMIC.EXE, quien nos permite obtener una gran cantidad de información con respecto al equipo a través de comandos sencillos que consultan el repositorio WMI:

SNAGHTMLb6defc

En la figura anterior podemos apreciar el uso de WMIC y la ejecución de algunos comandos (timezone, diskdrive, desktop, entre muchos otros).  Para mayor información acerca de WMIC pueden leer el siguiente artículo de TechNet.  Los comandos pueden aceptar algunos verbos para construir internamente una consulta con el lenguaje WQL (WMI Query Language), usado para obtener los datos que necesitemos del repositorio.

Es precisamente a través de WQL el medio por el cual podemos obtener prácticamente cualquier tipo de información del equipo en donde esté ejecutando la aplicación de Silverlight 4 en Confianza Elevada.

WbemScripting.SWbemLocator

Cuando una aplicación de Silverlight 4 está ejecutando en Confianza Elevada podemos utilizar la clase AutomationFactory para la invocación de Servidores de Automatización.  Para esto debemos configurarla a través de las propiedades del proyecto en Visual Studio .NET y además validar si está disponible esta característica a través de la propiedad estática AutomationFactory.IsAvailable (WMI está disponible en Windows y no en Mac OS).

WbemScripting.SWbemLocator es un objeto que nos permite ejecutar consultas de WQL para obtener datos del repositorio de WMI.  Su método ConnectServer nos brinda la oportunidad de conectarnos a un equipo (local o remoto) y a un espacio de nombres de WMI determinado (root\cimv2 es el espacio de nombres predeterminado).  Si la conexión es exitosa, ConnectServer nos regresará un objeto de tipo SWbemServices que podremos usar para la ejecución de consultas WQL.  Para mayor información del objeto WbemScripting.SWbemLocator pueden revisar la siguiente página.

La solución

Crearemos una nueva aplicación de tipo Silverlight 4 y agregaremos a la solución un proyecto de tipo Silverlight Class Library al cual le llamaremos Utilerias para poder reutilizar esta funcionalidad en diversos proyectos.  La aplicación de Silverlight 4 la configuraremos para que ejecute Afuera del Navegador y en Confianza Elevada.

Crearemos un método estático llamado GetLocalIPAddress() en donde implementaremos toda la funcionalidad y cerraremos el círculo de la explicación.  A continuación, el código completo:

public class Utilerias

{

    public static string GetLocalIPAddress()

    {

        if (!Application.Current.HasElevatedPermissions)

        {

            return "Esta funcionalidad necesita ejecutarse fuera del navegador y en confianza elevada";

        }

        try

        {

            if (AutomationFactory.IsAvailable)

            {

                using (dynamic wmi = AutomationFactory.CreateObject("WbemScripting.SWbemLocator"))

                {

                    dynamic service = wmi.ConnectServer(".", @"root\cimv2");

                    //El siguiente query de WQL obtendrá la información de WMI necesaria

                    //Estamos filtrando que DNSHostName no sea nulo

                    dynamic query = service.ExecQuery(@"select IPAddress from Win32_NetworkAdapterConfiguration where DNSHostName is not null");

                    //Obtiene la dirección IP

                    string address = query.ItemIndex(0).IPAddress[0];

                    return address;

                }

            }

            else

            {

                return "No disponible";

            }

        }

        catch (System.Exception)

        {

            return "No disponible";

        }

    }

}

En el código podemos apreciar los conceptos anteriormente explicados, y resalta la consulta de WQL que estamos ejecutando:

select IPAddress from Win32_NetworkAdapterConfiguration where DNSHostName is not null

Es notable que la sintaxis es muy parecida a T-SQL.  La consulta hace uso de la clase Win32_NetworkAdapterConfiguration, quien representa la información de los adaptadores de red.  Además, estamos validando que nos regrese únicamente aquellas que su propiedad DNSHostName no sea nula.  Esta validación es necesaria para identificar únicamente aquellos adaptadores de red que verdaderamente esten conectados.  Obviamente necesitamos hacer más validaciones y filtros en el caso de que tengamos diferentes conexiones al mismo tiempo, pero en el escenario aquí explicado solo una conexión está habilitada.  Para mayor información de la clase Win32_NetworkAdapterConfiguration pueden revisar la siguiente página.  Para una lista más extensa de todas las clases pueden consultar esta página.

La invocación del método –por ejemplo en el evento Click de un Botón efectivamente nos daría la dirección IP local del equipo:

SNAGHTMLd47b2c

Resumen

WMI es la infraestructura en los sistemas operativos Windows que nos permite obtener información del hardware y software de un equipo local o remoto.  Silverlight 4 en Confianza Elevada puede ejecutar servidores de automatización como por ejemplo WbemScripting.SWbemLocator, quien es la puerta de entrada para la ejecución de queries WQL, para la consulta del repositorio de WMI.  A través de esta técnica prácticamente podemos conocer cualquier tipo de información que necesitemos en nuestros aplicativos de Silverlight 4.

Salu2!

Silverlight Tour–Ciudad de México (16 al 18 de Febrero 2011)

Posted on : 04-01-2011 | By : Rodrigo | In : Cursos, Eventos, Noticias, Silverlight Tour Workshop

Tags: ,

0

El Mejor curso de entrenamiento en Silverlight: el Silverlight Tour regresa a la capital mexicana durante el primer semestre de 2011.  Se llevará a cabo del 16 al 18 de Febrero con un horario de 08:00 a 18:00 horas.  Les recuerdo que el material del Silverlight Tour está completamente en español e incluye para cada asistente una licencia de la suite de controles RadControls for Silverlight de nuestros patrocinadores Telerik con un valor comercial de 999 USD.  Asimismo este curso tiene una promoción de pronto pago que vence el 21 de Enero que les sugiero la aprovechen.

slt_mexicocity

El registro ya está abierto y el cupo es limitado. 

Los esperamos!

Silverlight Tour–Caracas (22-24 Marzo 2011)

Posted on : 03-01-2011 | By : Rodrigo | In : Cursos, Noticias, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , , ,

0

SLT_CaracasEl Curso que Da La Vuelta al Mundo: el Silverlight Tour regresa a la capital venezolana del 22 al 24 de Marzo 2011.

El Silverlight Tour es un curso de tres intensos días acerca de Silverlight 4 y se imparte al rededor del mundo en diferentes idiomas.

El material está completamente en Español y ha sido revisado para darle un enfoque mucho más profundo en la construcción de Aplicaciones de Negocio con Silverlight.

Si están interesados(as), los invitamos a que se registren en la página del curso en español para asegurar su cupo en el curso.

Para el caso del curso de Caracas, se tiene una promoción por pronto pago del 30% (fecha de vencimiento: 22 de Enero 2011 18 de Febrero 2011).  Para mayor información al respecto pueden revisar la página de promociones.

teleriklogo

Finalmente les recuerdo que el Silverlight Tour incluye para cada participante una licencia de la suite de controles RadControls for Silverlight de nuestros patrocinadores Telerik!

Los esperamos!

El Nuevo Silverlight Tour

Posted on : 03-01-2011 | By : Rodrigo | In : Noticias, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , ,

7

SLT_Trans

Tengo el gran honor de anunciarles por este medio que el Mejor curso de Silverlight que da la Vuelta al Mundo: el Silverlight Tour ha sido reestructurado para darle un enfoque mucho mayor a tópicos relacionados con la construcción de aplicaciones de negocio con Silverlight.  El temario ha sido revisado y en algunas partes extendido para cubrir de una manera aún más profunda la Arquitectura y Desarrollo de Aplicativos RIA para Negocios con esta plataforma de desarrollo.  Un ejemplo de esto es la inclusión de los módulos del Patrón de Diseño Model-View-ViewModel (MVVM) y Pruebas Unitarias!

En el caso del Silverlight Tour Workshop en Español, el primer curso que estrenará este temario revisado es el de San Salvador, El Salvador el próximo día 02 de Febrero 2011.

Asimismo les recuerdo que el Silverlight Tour en Español incluye para cada participante una Licencia de la suite de controles RadControls for Silverlight de Telerik.

El temario completo en español lo pueden revisar en esta página.

La agenda completa del curso en español la pueden checar aquí.

Los esperamos en el Silverlight Tour!

Nuevas ciudades para el Silverlight Tour: San Salvador y Ciudad de Guatemala

Posted on : 05-12-2010 | By : Rodrigo | In : Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , , ,

0

SLT_Trans

Como parte de la definición de los próximos destinos del mejor curso de Silverlight: El Silverlight Tour se estrenan las capitales de El Salvador y Guatemala como ciudades del curso gracias a la retroalimentación que se ha tenido en los últimos meses.  La información es la siguiente:

El registro ya está abierto pero el cupo es limitado así que les invito a que se inscriban y no pierdan su lugar.

telerik_logo_RGB_photoshop

Les recuerdo que el Silverlight Tour tiene material completamente en Español e incluye una licencia por participante de la suite de controles RadControls for Silverlight de Telerik los cuales tienen un valor comercial de 999 USD! (No aplica con otras promociones).  Toda la información del curso la pueden encontrar en esta dirección.

Los esperamos!

UPDATE 13/dic/2010

Se ha concretado una promoción de 30% de descuento por pronto pago para ambas ciudades.  Para mayor información revisen la página de promociones del Silverlight Tour Workshop en Español.

UPDATE 03/ene/2011

El temario del Silverlight Tour ha sido revisado para darle un enfoque más profundo a la construcción de Aplicaciones de Negocio con Silverlight.  El primer curso que tendrá el nuevo temario es el de San Salvador el 02 de Febrero 2011.  Para mayor información pueden checar esta página.

UPDATE 12/ene/2011

Hemos establecido una alianza con Microsoft El Salvador para ofrecer un 50% de descuento directo sobre el precio, para el curso de San Salvador! (02 al 04 de Febrero 2011)
UPDATE 25/ene/2011

Hemos establecido una alianza con Microsoft Guatemala para ofrecer un 50% de descuento directo sobre el precio, para el curso de Ciudad de Guatemala! (09 al 11 de Febrero 2011)

f!acedeck–Cliente para Facebook en Silverlight 4

Posted on : 02-12-2010 | By : Rodrigo | In : General, Noticias, Silverlight 4

Tags: , ,

0

image¿Se acuerdan de la aplicación de Facebook hecha con Silverlight 4 mostrada durante el PDC 09?  El código ahora lo controlará la empresa Telerik (patrocinadores del Silverlight Tour Workshop y creadores de la suite de controles RadControls para Silverlight).  La aplicación ahora se llama f!acedeck, es gratuita y la pueden instalar desde esta página.  El único requisito es tener instalado Silverlight 4.

Espero les guste!

Silverlight Tour–Ciudad de México (08 al 10 de Diciembre 2010)

Posted on : 29-11-2010 | By : Rodrigo | In : Cursos, Eventos, Silverlight 4, Silverlight Tour Workshop

Tags: , , , , , , ,

0

December 8, 2010toDecember 10, 2010

SLT_TransÚltima fecha del año 2010 para el Silverlight Tour Workshop en Español para México, Distrito Federal.  El Silverlight Tour es El Curso de Silverlight que ha dado y da la vuelta al mundo, impartiéndose en una gran cantidad de países e idiomas.  Si quieren verdaderamente aprender Silverlight a profundidad, esta es sin duda la mejor opción!  Muchas personas así lo testifican.

Les recuerdo que el Silverlight Tour incluye una licencia por participante de la suite de controles RadControls for Silverlight de la empresa Telerik.

Los invito a que se registren usando la página del sitio en Español.

Allá nos vemos!

Webcast: Interoperabilidad con COM en aplicaciones Silverlight 4

Posted on : 25-11-2010 | By : Rodrigo | In : Comunidades, Conferencias, Eventos, MVP, Silverlight 4, Web Casts

Tags: , , , , ,

0

image

Gracias a todos(as) por asistir al Webcast: “Interoperabilidad con COM en aplicaciones Silverlight 4” que realicé hoy por la mañana.  Pueden descargar el video de la misma dirección de donde se registraron (si no lo hicieron lo pueden hacer en este momento). Al momento de estar escribiendo este post aún no está disponible pero tengo entendido que en las próximas 24 horas deberá estarlo.

También pueden descargar el código fuente de la aplicación con los ejemplos que se realizaron en esta dirección.

Gracias y salu2!

Fundamentos de Silverlight–Parte 11

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

Tags: , , , ,

5

Manejo de Eventos

En Silverlight tenemos tres maneras diferentes para poder manejar eventos.

  • Desde XAML
  • A través de código usando la sintaxis estándar
  • A través de código usando Expresiones Lambda

Manejo de eventos usando XAML

Podemos manejar los eventos de los elementos usando XAML. La siguiente caja de texto demuestra el manejo del evento Click del control Button:

 

<Button Click="Button_Click" />

 

…y su código relacionado usando el lenguaje C#:

private void Button_Click(object sender, RoutedEventArgs e)

{

    //Manejo del evento

}

Manejo de eventos usando la sintaxis del lenguaje

Como cualquier otro evento en C#, podemos usar el operador sobrecargado += para asignar el método que deseamos que se ejecute cuando el evento sea disparado. La siguiente caja de texto demuestra la asignación del método button1_Click al evento Click de un botón:

this.button1.Click += new RoutedEventHandler(button1_Click);

 

private void button1_Click(object sender, RoutedEventArgs e)

 

{

    //Manejo del evento

}

Manejo de eventos usando Expresiones Lambda

Las expresiones lambda son funciones anónimas que podemos utilizar para crear delegados. El siguiente código muestra el uso de una Expresión Lambda como manejador del evento Click de un botón.

//s es object y a es RoutedEventArgs

 

this.button1.Click += (s, a) =>

{

    //Manejo del evento

};

Una de las ventajas claras de utilizar una Expresión Lambda es que nos ahorraremos el cuerpo del método que está manejando el evento. Generalmente en escenarios en donde necesitemos crear contenido dinámico es de gran utilidad contar con esta posibilidad.