예제 #1
0
        public CentralServerRunnable(ICore core, ISettingsManager settingsManager, ICentralServerEngine queryEngine, IStorage storage, ILogger logger)
            : base(core, logger)
        {
            _settingsManager = settingsManager;

            var centralServerContract = new CentralServerConnector(queryEngine, storage, logger, settingsManager);

            centralServerContract.CentralServerInfo = new ServerInfo
            {
                ServerAddress = Adress,
                ServerName    = Name,
                ServerState   = ServerStates.Running,
                ServerType    = ServerTypes.DataServer,
                ServerBuild   = 1,
                ServerVersion = 1
            };

            _serviceHost = new ServiceHost(
                centralServerContract,
                new Uri(Adress));
            //_serviceHost.
            _serviceHost.AddServiceEndpoint(
                typeof(ICentralServerContract),
                _settingsManager.CentralServerRemoteBinding,
                "");
        }
예제 #2
0
 public CentralServerConnector(ICentralServerEngine queryEngine, IStorage storage, ILogger logger, ISettingsManager settingsManager)
 {
     _queryEngine     = queryEngine;
     _storage         = storage;
     _logger          = logger;
     _settingsManager = settingsManager;
     _dataServers     = new Dictionary <Guid, ServerInfo>();
 }