public void Connect(ServiceReference1.EventServiceClient eventServiceHost, Guid appSessionId) { foreach (var syncUnit in _list) { syncUnit.Connect(eventServiceHost, appSessionId); } }
public void Start() { Task.Run( () => { try { CheckMessagesInDb(); } catch { } try { //проверка на то стартован ли уже сервис if (HostIsEnabled) { return; } //инициализация клиента сервиса EventServiceHost = new ServiceReference1.EventServiceClient(new InstanceContext(this), _netTcpBinding, _endpointAddress); //текущая сессия _appSessionId = Guid.NewGuid(); //коннектимся к сервису if (EventServiceHost.Connect(_appSessionId, _userId)) { //Подключение контейнера синхронизации SyncContainer.Connect(EventServiceHost, _appSessionId); //циклический пинг хоста PingHost(); } else { this._container.Resolve <IHvtAppLogger>().LogError("", new Exception("_eventServiceClient.Connect() вернул false. Это приложение уже подключено к сервису.")); //throw new Exception("_eventServiceClient.Connect() вернул false"); } } catch (Exception) { //очистить следы от предыдущего подключения, подождать и рестартануть this.DisableWaitRestart(); } }).Await(); }
public void Connect(ServiceReference1.EventServiceClient eventServiceHost, Guid appSessionId) { this.EventServiceHost = eventServiceHost; this.AppSessionId = appSessionId; }