• windows 服务 定时程序 跑不出数据


           void timer_Elapsed(object sender, ElapsedEventArgs e)
            {
                DoSth();
            }
           private void DoSth()
            {
                try
                {
                    _log.Info("开始生成结算单");
                     iProcesser.Process();
                    _log.Info("结束生成结算单");
                }
                catch (Exception ex)
                {
                    _log.Info("生成结算单出错");
                    _log.Error(ex.ToString());
                }
            }

    以上是定时执行方法

    问题处在 DoSth里面 iProcesser.Process();

    iProcesser 定义是这样的

    private readonly IProcesser iProcesser = new SettlementProcesser();

    SettlementProcesser  类里面 有个构造函数 初始化时间

            DateTime statementDate;
            public SettlementProcesser()
            {
                statementDate = DateTime.Now.Date;
            }

    生成结算单方法是根据这个时间去生成的,然而每天服务执行的时候,时间是一样的,都是服务启动时候的时间

           private void DoSth()
            {
                try
                {
                    _log.Info("开始生成结算单");
                    new SettlementProcesser().Process();
                    _log.Info("结束生成结算单");
                }
                catch (Exception ex)
                {
                    _log.Info("生成结算单出错");
                    _log.Error(ex.ToString());
                }
            }

    应该是这样的 每次执行的时候 都获取当前时间  

  • 相关阅读:
    79. Word Search
    97. Interleaving String
    74. Search a 2D Matrix
    73. Set Matrix Zeroes
    72. Edit Distance
    71. Simplify Path
    64. Minimum Path Sum
    shell编程 备份mysql数据库并发送到另一个服务器
    linux 命令执行的判断依据: ;,&&,||
    linux 数据流重定向
  • 原文地址:https://www.cnblogs.com/acgk/p/5110238.html
Copyright © 2020-2023  润新知