我想知道如何在我的控制台应用中使用c#来最好地实现SetTimeout
?如何在控制台应用程序中最好地实现SetTimeout?
我的方案是:
我使用SOAP客户端上传CSV文件,因为文件的大小是大的,我得到返回超时异常。
这很好,因为在这个阶段,我希望我的控制台应用程序暂停15分钟,然后再继续工作,因为我需要等待文件上传。
此外,如果15分钟后文件仍未上传,我想检查每分钟以确保文件已上传。
因此,关键是有一个15分钟的SetTimeout(如JavaScript),并检查文件是否上传,否则每分钟检查文件是否上传。
实现此目的的最佳方法是什么?
我曾尝试:
private Timer _timer;
_timer.Interval = ((1000 * 60) * 15);
_timer.Elapsed += IntervalElapsed;
_timer.Start();
的IntervalElapsed方法如下:
private void IntervalElapsed(object sender, ElapsedEventArgs e){
_timer.stop();
// check if file has been uploaded
var isFileUploaded = HasFileBeenUploaded();
while(!isFileUploaded){
// perform setInterval until file has been uploaded
}
}
但是我IntervalElapsed方法不会被调用,控制台应用程序关闭。
你应该做的是,在Windows服务,控制台应用程序不适合这样的任务 –