Como posso enviar uma mensagem de notificação do servidor para todos os clientes no WCF (transmissão que você pode dizer)?
Eu quero enviar mensagem de notificação a cada segundo do serviço TCP tcp WCF para todos os clientes, Broadcast você pode dizer?
Depois das respostas úteis
Eu escrevi o seguinte método que irá enviar notificações (heartbeat) para todos os usuários conectados
<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>
Estou preocupado em chamar o método de retorno de chamada, pois o cliente pode fechar seu aplicativo, mas eu o manipulei usando o try catch, diminuindo o tempo limite e enviando a conversão ampla em paralelo, então isso é suficiente?