我现在得到的可以用这个伪代码来总结:
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进入服务器即可检查其状态(但它不会成为世界末日)。
总的来说,我想我想看到一个类似以下内容的窗口:到目前为止,处理y的x,正在处理以下项目。在表格中列出项目,并说“正在上传”或“等待响应”。也许如果我发疯了,我还可以处理一系列失败的项目(但这只是多余的)。
我的想法一直放在事件上,但是我无法弄清楚如何运行可以订阅和退订正在运行的程序的程序。这有可能吗?