public Startup(IConfiguration configuration) { Configuration = configuration; DateTime endTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 30, 00); Task.Run(() => { while (true) { Thread.Sleep(1000); try { if (MonitorBp.CalChangeBp(Config.Bonds)) { var ToSendJson = MonitorBp.GetJsonString(Config.BpChangeDict); _hubContext.Clients.All.SendAsync("ReceiveBp", ToSendJson); } if (DateTime.Now > endTime) { System.Environment.Exit(0); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } }); }
public static void Main(string[] args) { #region 读取配置文件 var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json"); var config = builder.Build(); Config.FrontUrl = config["FrontUrl"]; Config.Conn43 = config["Conn43"]; Config.ConnMSN = config["ConnMSN"]; Config.Bonds = config["CBonds"]; Config.CBonds = MonitorBp.CBondValues(Config.ConnMSN, config["CBonds"]); Config.db = new SqlConnection(Config.Conn43); Config.db.Open(); Config.BpChangeDict = MonitorBp.TransCodeString(config["CBonds"]); Config.DealYieldDict = MonitorBp.TransCodeString(config["CBonds"]); MonitorBp.GetTermDict(config["Terms:10y"], "10y"); MonitorBp.GetTermDict(config["Terms:5-7y"], "5-7y"); MonitorBp.GetTermDict(config["Terms:1-3y"], "1-3y"); Config.BondsTypeDict = MonitorBp.GetTypeDict(config["CBonds"]); #endregion CreateWebHostBuilder(args).Build().Run(); }
public override async Task OnConnectedAsync() { //string ToSendJson = JsonConvert.SerializeObject(Config.BpChangeDict, Formatting.Indented); var ToSendJson = MonitorBp.GetJsonString(Config.BpChangeDict); await Clients.Caller.SendAsync("ReceiveBp", ToSendJson); }