私が現在持っているものは、この擬似コードで要約することができます:
public static void Main(string[] args)
{
var listOfObjects = Database.GetObjectsToUploadToOnlineService();
Parallel.ForEach(Upload)
}
private static void Upload(MyUploadObject obj)
{
//Build object (takes a few milliseconds)
//Format to JSON (takes a few more milliseconds)
//Upload (can take up to a max of 10 minutes)
//Wait for a response (can take up to a max of 10 minutes)
//Save response to our database (takes a few milliseconds)
}
このプログラムは、スケジュールされたタスクとしてサーバーにセットアップされています。私たちはプログラムを所有しており、私たちはそれでやりたいことができます。私の質問は、自動監視チェックの作成に関するブログに由来しています(リンクは手元にありません)。
だから私は考えました:世界で別の「監視」プログラムを起動できるように、どのようにプログラムを変更できますか?または、この変更をコンソールプログラムから、非表示のWPFプログラムに変更する必要がありますか?
全体的に、ネットワーク上でプログラムの進行状況を確認するプログラムをコンピューターで実行できるようにしたいので、その状態を確認するためにサーバーにRDPする必要はありません(ただし、世界の終わりになる)。
全体として、次のようなウィンドウが表示されると思います:これまでのxのyの処理、次の項目が処理されています。テーブルなどに項目をリストし、「アップロード中」または「応答待ち」のように言ってもらいます。気が狂ったら、失敗したアイテムの列を並べることもできます(ただし、それは余分なことです)。
私の心はイベントに傾いていますが、実行中のプログラムをサブスクライブおよびサブスクライブ解除できるプログラムをどのように実行するかはわかりません。これも可能ですか?