0

我希望我的解释能成功。

我正在为具有最少功能的 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 中的文件下载仍在进行中(可能需要比 Timer peridicity 间隔更多的时间),我如何告诉 Class1 中的计时器以逃避处理。

注意:下载是异步的。

问候

4

1 回答 1

0

您仍然可以异步下载,但您应该将下载视为状态机...忙碌/空闲。

当您的计时器引发间隔事件时,请检查“机器”是否空闲。如果是这样,请启动另一个下载。

...说得通?

于 2012-08-27T15:47:25.243 回答