У меня есть приложение winform и служба wcf.Мое намерение состоит в том, чтобы, когда мое приложение winform отправляло сообщение с запросом в службу wcf, служба должна сохранять детали запроса клиента, и через некоторое время wcf вернет вызов обратно в приложение winform [client].
Предположим, что будет 10 таких клиентов, которые отправят запрос в эту службу wcf, и через 5 минут служба отправит сообщение обратного вызова каждому клиенту, отправив сообщение "hi".
Моя реализация службы выглядит следующим образом.
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract =
typeof(IServiceCallBacks))]
public interface IService
{
[OperationContract]
void Connect(User user);
}
И мой метод обратного вызова показан ниже
public interface IServiceCallBacks
{
[OperationContract(IsOneWay = true)]
void ContactsUpdated(List<Contact> updatedContacts);
}
А вот реализация
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession)]
public class Service : IService
{
List<User> users = new List<User>();
public Service()
{
}
public void Connect(User user)
{
users.Add(user);
}
это правильный путь?Как я могу отправить уведомление каждому клиенту из сервиса?