Những gì tôi hiện đang có có thể được tóm tắt với mã giả này:
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)
}
Chương trình này chỉ được thiết lập trên máy chủ của chúng tôi như một nhiệm vụ theo lịch trình. Chúng tôi sở hữu chương trình và có thể làm những gì chúng tôi muốn với nó. Câu hỏi của tôi bắt nguồn từ một blog về việc thực hiện kiểm tra giám sát tự động (tôi không có liên kết tiện dụng).
Vì vậy, điều đó khiến tôi phải suy nghĩ: Làm thế nào trên thế giới tôi có thể sửa đổi chương trình của mình để tôi có thể khởi động một chương trình "giám sát" khác? Hay điều này nên thay đổi từ việc trở thành một chương trình điều khiển sang nói một chương trình WPF bị ẩn?
Nhìn chung, tôi muốn có thể chạy một chương trình trên máy tính của mình để kiểm tra tiến trình của chương trình qua mạng, vì vậy tôi không phải RDP vào máy chủ để kiểm tra trạng thái của nó (nhưng nó sẽ không là sự kết thúc của thế giới).
Nhìn chung, tôi cho rằng tôi muốn thấy một cửa sổ có nội dung như: Quá trình x của y cho đến nay, các mục sau đây đang được xử lý. Liệt kê các mục trong, như, một bảng và yêu cầu chúng nói như "Đang tải lên" hoặc "Đang chờ phản hồi". Có lẽ nếu tôi phát điên tôi cũng có thể làm thế nào một hàng các mặt hàng thất bại (nhưng đó sẽ chỉ là thêm).
Tâm trí tôi cứ nghiêng về một sự kiện, nhưng tôi không thể hiểu làm thế nào tôi có thể chạy một chương trình có thể đăng ký và hủy đăng ký một chương trình đang chạy. Điều này thậm chí có thể?