Suscríbete a eventos dentro de un servicio WCF.

Tengo la necesidad de hacer algunos informes en tiempo real sobre la funcionalidad de un servicio WCF. El servicio es auto hospedado en una aplicación de Windows, y mi requisito es informar "en vivo" a la aplicación de host cuando el cliente llama a ciertos métodos.

Mi primer pensamiento sobre la tarea fue publicar un evento "NotifyNow" en el código de servicio y suscribirme al evento en mi aplicación de llamada, pero esto no parece ser posible. Dentro de mi código de servicio (implementación, no la interfaz), he intentado agregar lo siguiente

public delegate void MessageEventHandler(string message);
public event MessageEventHandler outputMessage;

void SendMessage(string message)
{
    if (null != outputMessage)
    {
        outputMessage(message);
    }
}

y llame al método SendMessage cuando tenga que notificar a la aplicación del host sobre alguna acción. (Esto se basa en lo que recuerdo de este tipo de comunicación entre formularios en una aplicación de winforms, y mi memoria puede haberme dejado aquí ...)

Sin embargo, cuando intento conectar el controlador de eventos en mi host, parece que no puedo entender cómo adjuntar a los eventos ... Mi código de alojamiento es (en pocas palabras)

service = new ServiceHost(typeof(MyService));
service.outputMessage += new MyService.MessageEventHandler(frm2_outputMessage);
  // the above line does not work!
service.Open();

(envuelto en un try / catch).

¿Puede alguien ayudarme, ya sea diciéndome cómo hacer funcionar este enfoque o señalándome de una mejor manera?

TIA

Respuestas a la pregunta(3)

Su respuesta a la pregunta