Có cách nào để ngăn ứng dụng .NET console không bị đóng không? Tôi có một ứng dụng theo mẫu này:Dừng ứng dụng bảng điều khiển .net bị đóng
while (true)
{
string x = Console.ReadLine();
StartLongRunningTaskOnSeparateThread(x);
}
Vấn đề là có thể đóng cửa sổ điều khiển (và do đó cắt bỏ tác vụ chạy dài). Có một sự tương đồng của sự kiện Forms.OnClosing cho các ứng dụng giao diện điều khiển không?
EDIT - Tôi không cố gắng tạo ra thứ gì đó không thể giết được, chỉ có thể đưa ra một thông điệp cảnh báo e..g "này, tôi chưa xong. Bạn có chắc chắn muốn đóng tôi không?"
EDIT2 - Ngăn chặn thoát không đúng lúc thông qua nút 'x' quan trọng hơn việc chặn Ctrl-C (Tôi đã sử dụng Console.TreatControlCAsInput = true;
). Giả sử cho mục đích này mà bất cứ ai bắn lên công việc quản lý muốn giết chương trình rất nhiều mà họ xứng đáng để có thể. Và người dùng cuối sẽ thấy cảnh báo hơn là vô tình hủy tác vụ chạy dài của họ.
Mỗi EDIT2, trong trường hợp đó, chỉ cần xóa nút "X" khỏi cửa sổ. Xem câu trả lời được cập nhật của tôi bên dưới. – beach
@beach thực hiện công việc một cách độc đáo. cảm ơn nhiều. – SillyMonkey