コード例 #1
0
 /// <summary>Регистрирует клиента на подписку</summary>
 /// <param name="categories">строковый массив категорий для подписки</param>
 /// <param name="propertyUpdate">делегат события при изменении значения свойства</param>
 /// <param name="showError">делегат события при ошибке</param>
 /// <param name="fileReceived">делегат события при получении файла</param>
 public bool RegisterForUpdates(string[] categories, PropertyUpdateWrapper propertyUpdate,
                                ClientErrorWrapper showError           = null,
                                ClientFileReceivedWrapper fileReceived = null)
 {
     _propertyUpdate = propertyUpdate;
     _showError      = showError;
     _fileReceived   = fileReceived;
     try
     {
         _proxy.RegisterForUpdates(_clientId, categories);
         return(true);
     }
     catch (EndpointNotFoundException ex)
     {
         Data.SendToErrorsLog("Ошибка подключения к [" + _host + "]: " + ex.Message);
         return(false);
     }
     catch (Exception ex)
     {
         var message = String.Concat("Ошибка в RegisterForUpdates() для [" + _host + "]: ", ex.Message);
         SendMessage(message);
         Data.SendToErrorsLog("Ошибка в RegisterForUpdates() для [" + _host + "]: " + ex.FullMessage());
         return(false);
     }
 }
コード例 #2
0
ファイル: EventClient.cs プロジェクト: ashsvis/L2M
 public void Connect(string[] categories, PropertyUpdateWrapper propertyUpdate, ClientErrorWrapper showError, ConnectionStatusWrapper connectionStatus)
 {
     _categories       = categories;
     _propertyUpdate   = propertyUpdate;
     _showError        = showError;
     _connectionStatus = connectionStatus;
     ThreadPool.QueueUserWorkItem(param =>
     {
         _callback = new CallbackHandler(ClientId, ConnectionStatus);
         Thread.Sleep(100);
         _callback.RegisterForUpdates(categories, propertyUpdate, showError);
     });
     _faultTimer = new System.Timers.Timer(15 * 1000)
     {
         AutoReset = false
     };
     _faultTimer.Elapsed += Reconnecting;
 }
コード例 #3
0
ファイル: EventClient.cs プロジェクト: ashsvis/L2M
 /// <summary>Регистрирует клиента на подписку</summary>
 /// <param name="categories">строковый массив категорий для подписки</param>
 /// <param name="propertyUpdate">делегат события при изменении значения свойства</param>
 /// <param name="showError">делегат события при ошибке</param>
 /// <param name="fileReceived">делегат события при получении файла</param>
 public bool RegisterForUpdates(string[] categories, PropertyUpdateWrapper propertyUpdate,
                                ClientErrorWrapper showError = null)
 {
     _propertyUpdate = propertyUpdate;
     _showError      = showError;
     try
     {
         _proxy.RegisterForUpdates(_clientId, categories);
         return(true);
     }
     catch (EndpointNotFoundException ex)
     {
         SendToErrorsLog("Ошибка подключения к серверу событий: " + ex.Message);
         return(false);
     }
     catch (Exception ex)
     {
         var message = string.Concat("Ошибка в RegisterForUpdates(): ", ex.Message);
         SendMessage(message);
         SendToErrorsLog("Ошибка в RegisterForUpdates(: " + ex.FullMessage());
         return(false);
     }
 }