public void Connect(ServiceReference1.EventServiceClient eventServiceHost, Guid appSessionId)
 {
     foreach (var syncUnit in _list)
     {
         syncUnit.Connect(eventServiceHost, appSessionId);
     }
 }
Exemple #2
0
        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();
        }
Exemple #3
0
 public void Connect(ServiceReference1.EventServiceClient eventServiceHost, Guid appSessionId)
 {
     this.EventServiceHost = eventServiceHost;
     this.AppSessionId     = appSessionId;
 }