Jak mogę wysłać powiadomienie z serwera do wszystkich klientów w WCF (transmisja, którą możesz powiedzieć)?

Chcę wysłać powiadomienie co sekundę z usługi net tcp WCF do wszystkich klientów, Broadcast można powiedzieć?

Po pomocnych odpowiedziach

Napisałem następującą metodę, która wyśle ​​powiadomienia (puls) do wszystkich połączonych użytkowników

<code>foreach (IHeartBeatCallback callback in subscribers)
{
  ThreadPool.QueueUserWorkItem(delegate(object state)
  {
    ICommunicationObject communicationCallback = (ICommunicationObject)callback;
    if (communicationCallback.State == CommunicationState.Opened)
    {
      try
      {
         callback.OnSendHeartBeat(_heartbeatInfo.message,    _heartbeatInfo.marketstart,_heartbeatInfo.marketend, _heartbeatInfo.isrunning,   DateTime.Now);
      }
      catch (CommunicationObjectAbortedException)
      {
        Logger.Log(LogType.Info, "BroadCast", "User aborted");
        communicationCallback.Abort();
      }
      catch (TimeoutException)
      {
       Logger.Log(LogType.Info, "BroadCast", "User timeout");
       communicationCallback.Abort();
      }
      catch (Exception ex)
      {
        Logger.Log(LogType.Error, "BroadCast", "Exception " + ex.Message + "\n" +  ex.StackTrace);
        communicationCallback.Abort();
      }

    }
    else
    {
      DeletionList.Add(callback);
    }
  }
  );
}
</code>

Martwię się o wywołanie metody wywołania zwrotnego, ponieważ klient może zamknąć swoją aplikację, ale obsłużyłem ją za pomocą funkcji try catch, zmniejszając limit czasu i wysyłając rzutowanie równoległe, więc czy to wystarczy?

questionAnswers(2)

yourAnswerToTheQuestion