En una situación en la que tiene la interfaz de la interfaz de usuario construida con el nuevo estilo Metro de aplicaciones para Windows 8 y le gustaría que se comunique con una aplicación .NET que se ejecuta en el escritorio en la misma máquina local (por ejemplo, una aplicación de servicio de Windows).
¿Qué formas de comunicación entre procesos están disponibles entre la aplicación metro y la aplicación de escritorio?
Gracias a Pavel Minaev del equipo de Visual Studio, que ha proporcionado información inicial aquí en un comentario, citado:
Según Martyn Lovell, no existe ningún mecanismo deliberado para eso, y algunos que podrían usarse para ello están intencionalmente restringidos. Las canalizaciones con nombre no existen, por ejemplo, ni los archivos mapeados en memoria. Hay sockets (incluidos los sockets del servidor), pero cuando se conecta a localhost, solo puede conectarse a la misma aplicación. Podrías usar archivos normales en una de las "carpetas conocidas" compartidas (Documentos, Imágenes, etc.), pero ese es un truco bastante tosco que requiere sondeo y es visible para el usuario. - Pavel Minaev comentando sobre este tema.
Entonces, al fallar los enfoques normales, estaba pensando en usar servicios web o leer / escribir en una base de datos para que ocurriera alguna forma de comunicación, lo cual parece excesivo cuando los procesos se ejecutan en la misma máquina.
¿Tiene sentido lo que intento aquí? Puedo ver la necesidad de que una aplicación de metro sea la interfaz de usuario de un servicio existente que se ejecuta en el escritorio. ¿O es mejor simplemente usar WPF para la interfaz de usuario de la interfaz que se ejecuta en el escritorio (es decir, una aplicación que no sea metro)?