/// <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); } }
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; }
/// <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); } }