Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 另一个班的对照班治疗进度_C#_Queue - Fatal编程技术网

C# 另一个班的对照班治疗进度

C# 另一个班的对照班治疗进度,c#,queue,C#,Queue,我希望我的解释能成功 我正在为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<str

我希望我的解释能成功

我正在为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
[第1类]
1-计时器每60秒运行一次。
2-通过http(WebClient)下载xml文件
3-解析ID(同一http服务器内元数据xml文件的ID)
4-通过类2中的ID将队列排队[queue _downloadUrls=new queue()]
[第二类]
5-退出URL队列并开始下载队列中的每个文件
6-将xml反序列化为有效引用并将其保存到数据库中
问题:

如果类2中的文件下载仍在进行中,我如何告诉类1中的计时器退出处理(可能需要比计时器周期间隔更长的时间)

注意:下载是异步的


关于

您仍然可以异步下载,但应将下载视为状态机…忙/闲

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


…有意义吗?

如果您希望这样做,请不要“异步”。有意义,但我想问的是,在哪里存储此类信息,我不想通过使用静态变量来实现这一点。蒂纳克斯