Мой вопрос довольно прост, но я как-то потерялся.
У меня есть проект, включающий ClientProject и ServerProject (приложение службы WCF), содержащий мой класс сервиса и его интерфейс.
Служба запускает метод с несколькими итерациями.
Все, что мне нужно сделать, это показать на графическом интерфейсе номер итерации службы в реальном времени,
, чтобы пользователь мог быть осведомлен о состоянии активности службы во время работы.
Я видел примеры объявления делегата ServerEventHandler по сервису,
и регистрации этого события на стороне клиента.
Например:
ServiceProject:Показывать счетчик сервера в графическом интерфейсе во время его работы
public delegate void ServerEventHandler(object sender, EventArgs e);
public event ServerEventHandler ServerEvent; <br/><br/>
ClientProject:
public Client(Server s)
{
s.ServerEvent += new Server.ServerEventHandler(Subscribe);
}
Но я не могу понять, как я могу осуществить это на моем WCF проекта, так как мой клиент и сервер разделены проектами, так что единственный способ получить мои значения ServiceProject в моем ClientProject - через ServiceReference.
Я не могу понять, как клиент может иметь экземпляр службы и как он может получить доступ к свойству ServerEvent через него.
Что мне не хватает? Должен ли я упоминать что-либо о моем контракте?
Или есть ли другой способ его реализовать?
Я был бы благодарен, если вы будете в состоянии помочь мне ..
можно реализовать WSDualHttpBinding, который позволяет определить контракт обратного вызова .. – Viru
Вот ссылка которую вы можете обратиться https://code.msdn.microsoft.com/windowsdesktop/WCF-Sample-Service-with-41ef222f – Viru
Привет. Я уже реализовал его. но когда я отправляю обратный вызов - продолжается ли процесс сервера? Кроме того, какое значение мне нужно отправить на этот обратный вызов, чтобы реализовать вышеприведенный код? Я был бы рад получить какой-либо пример. –