cơ sở mã của Công ty của tôi có chứa C# dòng sau:Sử dụng Directory.Exists vào một thư mục mạng khi mạng xuống
bool pathExists = Directory.Exists(path);
Khi chạy, chuỗi path
sẽ xảy ra là địa chỉ của một thư mục trên công ty của mạng nội bộ - chẳng hạn như \\company\companyFolder
. Khi kết nối từ máy tính Windows của tôi đến mạng nội bộ đang hoạt động, điều này hoạt động tốt. Tuy nhiên, khi kết nối đi xuống (như nó đã làm ngày hôm nay), việc thực thi dòng trên làm cho ứng dụng đóng băng hoàn toàn. Tôi chỉ có thể tắt ứng dụng bằng cách giết nó bằng Trình quản lý tác vụ.
Tất nhiên, tôi muốn có Directory.Exists(path)
trả lại false
trong trường hợp này. Có cách nào để làm việc này không?
Điều này có thể dễ dàng ăn hết tất cả các chủ đề có sẵn trong nhóm chủ đề gây ra các sự cố khác trong ứng dụng. Nếu bạn định làm như thế này, bạn cần có khả năng chấm dứt hoạt động sau khi hết thời gian chờ. –
@ csharptest.net đó là vấn đề, bạn không thể. Phương thức 'Directory.Exists' không thể được điều khiển cho timeout và vì nó cơ bản giảm ngay lập tức xuống sự kiện mã nguồn gốc một' Thread.Abort' sẽ không giúp bạn. – JaredPar