​昨天1.1号的时候,项目中一个自动上传文件到指定ftp服务器指定目录的程序发生了问题,不见新文件产生 。
查看了以后,发现是传到2019年目录下了。

因为产生的文件自动按年份来排存放。2020年1.1号时应该存到2020目录下,结果存到2019目录 了。

因为放假在家。远程电脑太慢,不能具体查,

今天到公司看了下,发现本地测试没问题,但是为啥会存到2019目录 下呢。

最后发现指定的ftp目录 定义的是静态字段

private state ftpMenu="/mainmenu/"+DateTime.Now("yyyyy").ToString()+"/";
这样的话,程序只是在启动的时候调用一次。

所以在本地测试,等于新打开一次,不会出现问题,

但是服务器上是程序是一直运行的,所以这个字段在2019年的时候产生的是2019,以后服务器程序不挂,则不会变更ftpMenu的内容 ,都是2019的目录 。

最后把DateTime.Now("yyyyy").ToString() 放到程序中。

然后把本地时间调成2021,2022都可以创建新目录产生 新文件 。

问题解决。

静态字段在项目中引起的问题要注意。


本文由 hcb 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

2 条评论

  1. zzjbcycarg
    zzjbcycarg

    博主真是太厉害了!!!

  2. kancispzjo
    kancispzjo

    不错不错,我喜欢看 www.jiwenlaw.com

添加新评论