2012-06-11 29 views
5

Tôi có ứng dụng C# .NET 3.5 với trình duyệt web được nhúng. Trình duyệt được thiết kế để trỏ đến các trang web từ xa (thay vì bất kỳ địa phương nào). Mọi thứ đều hoạt động tốt, nhưng khi trang chậm phản hồi điều này làm cho toàn bộ ứng dụng của tôi trở nên không phản hồi cho đến khi trang được tải.Điều khiển WebBrowser khiến cho toàn bộ ứng dụng trở nên không phản hồi

Tôi không ngại trình duyệt không phản hồi khi nó hoạt động, nhưng ứng dụng cũng đi quá xa lý tưởng.

Có cách nào tốt để ngăn chặn điều này không? Nó sẽ có lợi khi chạy WebBrowser trên một luồng riêng biệt - đó là một chút ngoài kỹ năng của tôi ngay bây giờ và tôi không nghĩ rằng điều khiển WebBrowser thực sự thích đa luồng? Nhưng tôi có thể học nếu cần.

+0

Bạn đã kiểm tra nhật ký lỗi của mình chưa? Có thể có một đầu mối về lý do tại sao đơn đăng ký của bạn không phản hồi. Thật khó để chẩn đoán bạn có vấn đề với rất ít thông tin. – Eric

+0

@autumyst Tôi không tin có bất kỳ vấn đề nào như vậy. Nó chỉ treo một thời gian ngắn trong khi tải trang web chậm. Khi điều này xảy ra, Windows 7 (Ví dụ) cung cấp cho người dùng tùy chọn Chờ hoặc kết thúc tác vụ không trông tuyệt vời. – Dan

+0

Một câu hỏi quan trọng - tại sao bạn sử dụng điều khiển WebBrowser? Bạn đang cố làm gì vậy? Nó là một kiểm soát rất cồng kềnh, và tùy thuộc vào nhu cầu của bạn, có thể có một cách tốt hơn. – riwalk

Trả lời

2

Xem câu trả lời # 2 vào câu hỏi này cho một giải pháp làm thế nào để chạy nó trên một thread riêng biệt: BackgroundWorker and WebBrowser Control

Bạn cũng có thể đọc câu trả lời # 1 quá, nó giải thích các hành vi mà bạn đang nhìn thấy (điều khiển WebBrowser chặn giao diện người dùng).

+0

Cảm ơn, tôi sẽ xem xét điều này – Dan

+0

Chấp nhận vì đây là câu trả lời đúng mặc dù tôi không cần phải sử dụng nó cuối cùng – Dan

0

Vì điều đó xảy ra, tôi thấy rằng nguyên nhân gốc rễ của ứng dụng này là ứng dụng của tôi đang chạy với tư cách quản trị viên. Chính xác cùng một vấn đề đã được nhìn thấy khi sử dụng Internet Explorer - như vậy, tôi đã chỉ đơn giản là viết lại các bit mà yêu cầu đặc quyền quản trị vì vậy bây giờ tôi không còn nhìn thấy vấn đề ban đầu.

0

này chỉ xảy ra trên win7, tôi sử dụng Fiddler2 để giám sát HTTP/HTTPS giao thông .Tôi thấy trình duyệt web nhúng để truy cập vào web này: http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab?50ff94e72ac1a75c;the giải pháp là làm theo: http://support.microsoft.com/kb/2730040/en (Phương pháp 2 hoặc Phương pháp 3) .Bạn có thể thử it.other u có thể sử dụng .net framework4.0, sau đó u không có vấn đề này.

Các vấn đề liên quan