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 のファイルのダウンロードがまだ進行中の場合、Class1 のタイマーに処理を回避するように指示するにはどうすればよいですか (タイマーの周期間隔よりも時間がかかる可能性があります)。

注意: ダウンロードは非同期です。

よろしく

4

1 に答える 1

0

非同期でダウンロードすることもできますが、ダウンロードをステート マシンとして扱う必要があります ... ビジー/アイドル。

タイマーが間隔イベントを発生させたら、「マシン」がアイドル状態かどうかを確認します。その場合は、別のダウンロードを起動します。

...わかる?

于 2012-08-27T15:47:25.243 に答える