Exemple #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);
     }
 }
Exemple #2
0
 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;
 }
Exemple #3
0
 public static void Connect(string host, int port,
                            ClientErrorWrapper showError, ConnectionUpdate connectionUpdate, GameUpdateWrapper update)
 {
     _host             = host;
     _port             = port;
     _showError        = showError;
     _connectionUpdate = connectionUpdate;
     _update           = update;
     new Thread(() =>
     {
         _proxy = new DataExchange(host, port, ConnectionUpdated, update).GetProxy();
     }).Start();
     _faultTimer = new System.Timers.Timer(5 * 1000)
     {
         AutoReset = false
     };
     _faultTimer.Elapsed += Reconnecting;
 }
Exemple #4
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)
 {
     _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);
     }
 }