Apa yang saya dapatkan saat ini dapat disimpulkan dengan kode semu ini:
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)
}
Program ini baru diatur di server kami sebagai tugas yang dijadwalkan. Kami memiliki program dan dapat melakukan apa yang kami inginkan. Pertanyaan saya berasal dari sebuah blog tentang membuat pemeriksaan pemantauan otomatis (saya tidak punya tautan berguna).
Jadi itu membuat saya berpikir: Bagaimana saya bisa memodifikasi program saya sehingga saya bisa menjalankan program "pemantauan" yang lain? Atau haruskah ini berubah dari program konsol menjadi program WPF yang disembunyikan?
Secara keseluruhan, saya lebih suka menjalankan program di komputer saya yang memeriksa progres program melalui jaringan, jadi saya tidak perlu RDP ke server untuk memeriksa statusnya (tetapi tidak akan menjadi akhir dunia).
Secara keseluruhan, saya kira saya ingin melihat jendela yang mengatakan sesuatu seperti: Proses xy y sejauh ini, item berikut sedang diproses. Daftarkan item dalam, seperti, tabel dan minta mereka mengatakan seperti "Mengunggah" atau "Menunggu respons". Mungkin jika saya menjadi gila saya juga bisa bagaimana antrian barang gagal (tapi itu hanya akan menjadi tambahan).
Pikiran saya terus condong ke arah suatu peristiwa, tetapi saya tidak tahu bagaimana saya akan menjalankan program yang dapat berlangganan dan berhenti berlangganan ke program yang sedang berjalan. Apakah ini mungkin?