Tôi nhận thấy có vấn đề về bộ nhớ khi tôi rời khỏi ứng dụng của mình trong một thời gian dài. Tôi thực sự có được một ngoại lệ bộ nhớ. Tôi cố gắng tìm ra vấn đề là gì và tôi đã thất bại cho đến khi tôi để nó chạy lại và tôi nhận thấyCác vấn đề về bộ nhớ khi sử dụng HtmlAgilityPack?
Tôi bị rò rỉ trên đường dây này mọi lúc html.LoadHtml(a_few_k_of_html);
. Tôi nghi ngờ HtmlAgilityPack bị rò rỉ. Tôi đã thử gói nó trong sử dụng và gọi vứt bỏ nhưng điều đó không tồn tại. Nó không chỉ xảy ra trên dòng đó mọi lúc nhưng tôi nhớ việc thay đổi một vài khu vực để sử dụng HtmlAgilityPack thay vì parsing html with regex
Làm cách nào để giải quyết vấn đề bộ nhớ này không sửa đổi chính HtmlAgilityPack?
Mã của bạn có giữ lại tham chiếu đến kết quả của html.LoadHtml không? Bạn có chắc là mã của bạn không còn tham chiếu đến nó nữa? –
V html chỉ có phạm vi của một hàm đó và không được sử dụng ở bất kỳ nơi nào khác. Tôi đang tích cực tôi không tham khảo nó bất cứ nơi nào. Điều này sẽ là rò rỉ đầu tiên của tôi và tôi nghĩ rằng nó có thể phải làm với phụ trợ HtmlAgilityPack. @EricJ. –
Bạn có thể tái tạo điều này trong một chương trình thử nghiệm đơn giản không? Tôi sẽ ngạc nhiên khi thấy rằng Html Agility Pack bị rò rỉ. Tôi sử dụng nó trong một chương trình chạy dài (trình thu thập dữ liệu web của tôi chạy trong nhiều ngày tại một thời điểm, tải xuống hàng nghìn trang mỗi phút) và không nhận thấy bất kỳ rò rỉ nào. –