Messenger Activity para múltiples usuarios.
Este tipo de Activities requieren sincronización entre los dos clientes de Windows Live Messenger para los procesos de sincronización, enviar y recibir datos y manejo de errores. Para esto se deben implementar los siguientes manejadores de eventos del objeto Channel.
Cuando un cliente de Windows Live Messenger ejecuta un Activity para multiples usuarios se debe invocar el método Initialize() del objeto Channel. Este método envía la invitación al cliente remoto y mantiene en espera el Activity hasta que el usuario remoto acepte la invitación.
Para el siguiente ejemplo se ejecuta el método Channel.Initialize() dentro de un bloque try catch para que no se genere una excepción al momento del cargar el app web ya que los elementos del API de Messenger Activity solo se encuentran en el host de Windows Live Messenger.
Como manejador del evento onclick de los controles HTML tipo Button es utilizado el método remover que se encarga de ejecutar el método removerTr que remover el producto que se encuentra dentro de una tabla HTML y ejecutar además el método SendData() del objeto Channel en donde se envía como parámetro el índice del producto que se elimino para que se sincronice el listado de productos del cliente remoto.
Cuando el cliente remoto recibe los datos realiza la invocación del evento OnDataReceived para notificar que han llegado datos para que sean sincronizados. Estos datos se encuentran en la propiedad Data del objeto Channel.
Las Activities de Múltiples usuarios invocan el evento OnRemoteAppClosed que notifica que el Activity del cliente remoto ha sido cerrada por lo cual dentro de este manejador se debe invocar el método window.external.CloseApp() que finaliza el Activity.