Exemplo n.º 1
0
 /// <summary>
 /// 預設實作是以ThreadPool的方式傳送資訊
 /// </summary>
 /// <param name="client">要接收資訊的<see cref="IInformationClient{TInfo}"/></param>
 /// <param name="info">要傳送的資訊</param>
 protected virtual void SendInformation(IInformationClient <TInfo> client, TInfo info)
 {
     ThreadPool.QueueUserWorkItem(PublishToClient, new PublishInfo <TInfo>()
     {
         Info = info, Client = client
     });
 }
Exemplo n.º 2
0
 /// <summary>
 /// Client跟資料提供中心取消訂閱指定的資訊
 /// </summary>
 /// <param name="client">實作<see cref="IInformationClient{TInfo}"/>的資料接收者</param>
 /// <param name="infoKey">要取消訂閱的Key</param>
 /// <returns>成功與否</returns>
 public bool ClientUnSubscribe(IInformationClient <TInfo> client, TInfoKey infoKey)
 {
     try
     {
         subClients.Remove(infoKey, client, rwlSubClients);
         return(true);
     }
     catch (Exception exp)
     {
         LogSystem.Instance.Error(exp.ToString());
         return(false);
     }
 }