WINFORM 定時上傳如何驗證文件已存在問題
一個WINFORM模塊,需定時每晚10點上傳文件至FTP服務器
現使用了Timer計時器
在計時器中,判斷如果時間到達10點或者超過10點,則開始生成報表并上傳文件
if (dtNowTime > Convert.ToDateTime("22:00") && bStart == false)
{
bStart = true;
this.getReport();
}
現在有個問題
就是如何判斷當天報表已上傳至服務器
因為如果計時器頻繁訪問服務器,會造成服務器負擔過重
還有一個問題,計時器頻率設置為多少合適,若太頻繁也會導致負載過重
求個思路
------解决方案--------------------做个文件记录上传记录不就知道是否上传过吗
------解决方案--------------------计时器的时间间隔设计多大,需要根据你的判断
dtNowTime > Convert.ToDateTime("22:00")
因果是有判断到分钟的话,那就是Interval 为1 分种,不然,这个判断就有可能很跳。
如果是判断到小时的候那就可以设置大一点。
Interval 设计的大小应该对程序性能影响没有多大关系,关键还是在
dtNowTime > Convert.ToDateTime("22:00")这一句 之后,执行的任务的长短才会有影响了。
------解决方案--------------------没上传完一个文件,本地记录一下,当然为了方便,还可以在都上传完毕后,将最终上传列表,发至服务器一份,这样可以随时随地,下载这个文件,来判断都有哪些文件已经上传
------解决方案--------------------客户上传文件到服务端
可以根据服务端文件名称是否重复进行判断。
1.重复不上传或者重复覆盖两个方式。
2.2楼的也是一种方案。