我希望我能成功解释。
我正在设计一个POC软件的控制台应用程序(概念证明),其功能最小化如下:
[Class 1]
1- Timer run each 60 seconds.
2- download an xml file over http (WebClient)
3- parse IDs (ID of metadata xml file inside the same http server)
4- Enqueue the queue by IDs in Class 2 [Queue<string> _downloadUrls = new Queue<string>()]
[Class 2 ]
5- Dequeue urls and start download each file whithin teh queue
6- Deserialize the xml to a valid reference an d save it into Database
问题:
如果Class2中的文件下载仍在进行中,我怎么能告诉Class1中的计时器逃脱处理(可能需要比Timer peridicity间隔更长的时间)。
N.B:下载是异步的。
此致
答案 0 :(得分:0)
您仍然可以异步下载,但您应该将下载视为状态机...忙/空闲。
当你的计时器提出间隔事件时,检查机器是否有&#39;闲着如果是这样,请启动另一次下载。
......有意义吗?