/// <summary> /// 依赖注入的构造器 /// </summary> /// <param name="options">AppSettings配置实例</param> public NiuKnifeService(IOptions <AppSettings> options) { m_Settings = options.Value; m_Stop = false; m_MySqlClusterSettings = ConfigurationManager.GetMySqlClusterSettings(); m_ConfiguredDataNode = new Dictionary <MySqlNode, List <AutoMoveDataConfig> >(); m_JobList = new List <IJobDetail>(); //背景服务host会自动调用ExecuteAsync入口 }
/// <summary> /// 非依赖注入构造 /// </summary> /// <param name="appSettings"></param> public NiuKnifeService(AppSettings appSettings) { m_Settings = appSettings; m_Stop = false; m_MySqlClusterSettings = ConfigurationManager.GetMySqlClusterSettings(); m_ConfiguredDataNode = new Dictionary <MySqlNode, List <AutoMoveDataConfig> >(); m_JobList = new List <IJobDetail>(); //始终保持一个等待的线程,以免容器内自动退出 SpinWait.SpinUntil(() => false); }