zoukankan      html  css  js  c++  java
  • 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());
                }
            }

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

  • 相关阅读:
    Oracle expdp 多表导出处理
    字符串
    Java设计模式
    多线程
    Java面向对象练习
    Java面向对象基础
    Java基础算法
    Java常识
    DOS基础命令(1)
    Java基础练习
  • 原文地址:https://www.cnblogs.com/acgk/p/5110238.html
Copyright © 2011-2022 走看看