Подписаться на события в сервисе WCF
У меня есть необходимость сделать некоторые отчеты в реальном времени о функциональности службы WCF. Служба размещена в приложении для Windows, и я должен сообщить об этом »жить" в хост-приложение, когда клиент вызывает определенные методы.
Моя первоначальная мысль о задаче состояла в том, чтобы опубликоватьNotifyNow» событие в сервисном коде, и подпишитесь на событие в моем вызывающем приложении, но это неКажется, это возможно. В моем сервисном коде (реализация, а не интерфейс) я попытался добавить следующее
public delegate void MessageEventHandler(string message);
public event MessageEventHandler outputMessage;
void SendMessage(string message)
{
if (null != outputMessage)
{
outputMessage(message);
}
}
и вызывать метод SendMessage всякий раз, когда мне нужно уведомить приложение хоста о каком-либо действии. (Это основано на том, что я помню об этом виде межличностного общения в приложении winforms, и моя память, возможно, подвела меня здесь ...)
Когда я пытаюсь подключить обработчик событий в моем хосте, я могуКажется, я не могу понять, как присоединиться к событиям ... Мой код хостинга (в двух словах)
service = new ServiceHost(typeof(MyService));
service.outputMessage += new MyService.MessageEventHandler(frm2_outputMessage);
// the above line does not work!
service.Open();
(завернутый в попытку / поймать).
Может ли кто-нибудь помочь, либо рассказав мне, как заставить этот подход работать, либо указав мне лучший путь.
ТИА