| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <%@ Application Language="C#" %>
- <%@ Import Namespace="Curtain.DataAccess" %>
- <%@ Import Namespace="Curtain.Log" %>
- <%@ Import Namespace="DK.XuWei.WebMes" %>
- <script RunAt="server">
- // 定时器
- System.Timers.Timer tr = null;
- void Application_Start(object sender, EventArgs e)
- {
- // 在应用程序启动时运行的代码
- string connStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
- DataAccess.DefaultParameterType = SQLParameterType.CDA;
- DataAccess.DefaultDataBaseType = Curtain.DataAccess.DataBaseType.Oracle;
- DataAccess.DefaultConnectionString = connStr;
- string timerLoadFlag = ConfigurationManager.AppSettings["TimerLoadFlag"].ToString();
- if ("1".Equals(timerLoadFlag))
- {
- // 设置定时器
- tr_Load();
- }
- }
- /// <summary>
- /// 设置定时器
- /// </summary>
- void tr_Load()
- {
- Logger.Debug("$$$定时器已启动$$$");
- //设置timer
- tr = new System.Timers.Timer(60000);
- tr.Elapsed += new System.Timers.ElapsedEventHandler(tr_Timer);
- tr.Enabled = true;
- tr.AutoReset = true;
- }
- /// <summary>
- /// 定时器要执行的任务
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- void tr_Timer(object sender, EventArgs e)
- {
- // 中台任务
- zhongtai_task();
- }
- /// <summary>
- /// 中台任务
- /// </summary>
- void zhongtai_task()
- {
- DateTime now = System.DateTime.Now;
- string currTime = now.ToString("HH:mm");
- //Logger.Debug("当前时间:" + currTime + ",分钟:" + now.Minute);
- if (now.Minute == 5 || now.Minute == 15 || now.Minute == 25 || now.Minute == 35 || now.Minute == 45 || now.Minute == 55)
- {
- Logger.Debug("自动同步中台:定时触发开始");
- string msg = SyncZhongTai.SyncFinishedProduct(now.Date, false);
- Logger.Debug("自动同步中台:定时触发结束,结果:\n" + msg);
- }
- // 如果现在是00点10分,把昨天剩余的全都同步过去
- if ("00:10".Equals(currTime))
- {
- Logger.Debug("自动同步中台_剩余条码:定时触发开始");
- string msg = SyncZhongTai.SyncFinishedProduct(now.Date.AddDays(-1), true);
- Logger.Debug("自动同步中台_剩余条码:定时触发结束,结果:\n" + msg);
- }
- }
- void Application_End(object sender, EventArgs e)
- {
- // 在应用程序关闭时运行的代码
- Logger.Debug("$$$定时器被关闭$$$");
- if (tr != null)
- {
- tr.Dispose();
- }
- // 重新唤醒当前应用
- ReworkHttp.Rework();
- }
- void Application_Error(object sender, EventArgs e)
- {
- // 在出现未处理的错误时运行的代码
- Exception error = Server.GetLastError().GetBaseException();
- if (error != null)
- {
- //记录日志
- Logger.Error(error);
- //输出错误信息
- //2022-11-15 冯林勇 出现错误不弹出日志
- //HttpContext.Current.Response.Write(new JsonResult(JsonStatus.otherError).ToJson());
- //2022-11-15 冯林勇 出现错误不弹出日志
- }
- Server.ClearError();
- }
- void Session_Start(object sender, EventArgs e)
- {
- // 在新会话启动时运行的代码
- }
- void Session_End(object sender, EventArgs e)
- {
- // 在会话结束时运行的代码。
- // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
- // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
- // 或 SQLServer,则不引发该事件。
- }
- </script>
|