Tôi có một chuỗi thoát ra và cố gắng tạo kết nối. Trong chuỗi, tôi thực hiện cuộc gọi đến thư viện của bên thứ ba. Đôi khi, cuộc gọi này bị treo và không bao giờ trở lại. Trên chuỗi giao diện người dùng, tôi muốn có thể hủy kết nối bằng cách hủy bỏ chuỗi, thao tác này sẽ hủy bỏ cuộc gọi bị treo tới thư viện của bên thứ ba.Làm cách nào để xử lý một chuỗi có cuộc gọi bị treo?
Tôi đã gọi Thread.Abort, nhưng bây giờ đã đọc Thread.Abort chỉ hoạt động khi kiểm soát trả về mã được quản lý. Tôi đã quan sát thấy rằng điều này là đúng, bởi vì các chủ đề không bao giờ hủy bỏ, và tôi đã ngồi trên Thread.Join trong mười phút ngay bây giờ. Tôi nên làm gì với chuỗi treo này? Tôi có nên chỉ cần tham khảo và di chuyển không? Tôi muốn càng sạch càng tốt -
"Cất cánh và nuke trang web từ quỹ đạo - đó là cách duy nhất để chắc chắn". Thật vậy, bạn là chính xác; đây là cách an toàn duy nhất được bảo đảm để chấm dứt mã không đúng. Thread.Abort không được bảo đảm để thực sự hủy bỏ các thread misbehaving; một chủ đề thực sự bị xáo trộn có thể chiếm đoạt việc hủy bỏ. Ngay cả khi lấy xuống một appdomain không nhất thiết phải làm những gì bạn muốn. Nếu bạn hoàn toàn, tích cực phải giết mã hành vi xấu sau đó bạn cần phải cô lập nó với một quá trình giết người. –
Cảm ơn Ripley ... Ý tôi là ... Eric ;-p (Tôi đã trả lời của Hudson, nhưng sau đó tôi phải sử dụng các công cụ điều tiết trên chính mình ...) –