สิ่งที่ฉันได้ในขณะนี้สามารถสรุปได้ด้วยรหัสหลอกนี้:
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 จนถึงตอนนี้กำลังประมวลผลรายการต่อไปนี้ ทำรายการในรายการเช่นตารางและให้พวกเขาพูดเช่น "กำลังอัปโหลด" หรือ "กำลังรอคำตอบ" บางทีถ้าฉันบ้าฉันก็สามารถจัดลำดับของรายการที่ล้มเหลวได้
ใจของฉันโน้มตัวไปข้างหน้ากับเหตุการณ์ แต่ฉันไม่สามารถเข้าใจได้ว่าฉันจะเรียกใช้โปรแกรมที่สามารถสมัครและยกเลิกการสมัครโปรแกรมที่กำลังทำงานอยู่ได้อย่างไร เป็นไปได้ไหม