private void RegisterApiProviderSettings(IAPIProviderSettings apiProviderSettings)
        {
            if (_apiProviderSettings != null)
            {
                string message = string.Format(Resources.RegisterApiProviderSettingsError, apiProviderSettings.GetType().Name, apiProviderSettings.GetType().Name);

                LogTools logTools = new LogTools();
                logTools.WriteLogToConsole <Error>(message);
                logTools.WriteLogToFile <Error>(message);
            }

            _apiProviderSettings = apiProviderSettings;
        }
        private void RegisterSettings()
        {
            try
            {
                _container.Register(Castle.MicroKernel.Registration.Classes.FromAssemblyInDirectory(new AssemblyFilter(Program.ComponentsPath))
                                    .BasedOn <ISettings>()
                                    .WithServiceAllInterfaces()
                                    .LifestyleSingleton()
                                    );

                IAPIProviderSettings dataAccessProxySettings = _container.Resolve <IAPIProviderSettings>();
                dataAccessProxySettings.Set = 32;

                IConsoleSystemEngineSettings engineSettings = _container.Resolve <IConsoleSystemEngineSettings>();
                engineSettings.Set = Int32.MaxValue;
            }
            catch (Exception ex)
            {
                throw new InitializeSystemException(Resources.RegisterSettingsFailed, ex);
            }
        }
        public APIProviderCore(IAPIProviderSettings apiProviderSettings)
        {
            _apiProviderSettings = apiProviderSettings;

            Uri uri = new Uri($"net.tcp://{Dns.GetHostName()}:{13000}/{typeof(IApiProviderContract)}");

            _host             = new ServiceHost(typeof(ApiProviderService), uri);
            _host.OpenTimeout = TimeSpan.MaxValue;
            //_host.Faulted += _host_Faulted;
            //_host.UnknownMessageReceived += _host_UnknownMessageReceived;

            NetTcpBinding netTcpBinding = new NetTcpBinding()
            {
                MaxReceivedMessageSize = MaxReceivedMessageSize,
                Security = new NetTcpSecurity {
                    Mode = SecurityMode.None
                }
            };

            _host.AddServiceEndpoint(typeof(IApiProviderContract), netTcpBinding, uri);
            _host.Open();
        }