我有一個嵌入式Web瀏覽器的C#.NET 3.5應用程序。瀏覽器被設計爲指向遠程站點(而不是任何本地)。一切工作正常,但是當頁面響應緩慢時,導致我的整個應用程序無法響應,直到加載頁面。WebBrowser控件導致整個應用程序無響應
我不介意瀏覽器在執行任務時沒有響應,但應用程序太不理想了。
有沒有一個很好的方法來防止這種情況?在單獨的線程上運行WebBrowser會有好處 - 現在有點超出我的技能範圍,我不認爲WebBrowser控件真的喜歡多線程?但是,如果需要,我可以學習。
我有一個嵌入式Web瀏覽器的C#.NET 3.5應用程序。瀏覽器被設計爲指向遠程站點(而不是任何本地)。一切工作正常,但是當頁面響應緩慢時,導致我的整個應用程序無法響應,直到加載頁面。WebBrowser控件導致整個應用程序無響應
我不介意瀏覽器在執行任務時沒有響應,但應用程序太不理想了。
有沒有一個很好的方法來防止這種情況?在單獨的線程上運行WebBrowser會有好處 - 現在有點超出我的技能範圍,我不認爲WebBrowser控件真的喜歡多線程?但是,如果需要,我可以學習。
看到答案#2在這個問題上就如何在一個單獨的線程中運行它的解決方案:BackgroundWorker and WebBrowser Control
你還不如讀答案#1太大,它說明你所看到的行爲(WebBrowser控件阻止UI thead)。
碰巧我發現這是我的應用程序以管理員身份運行的根本原因。在使用Internet Explorer時看到完全相同的問題 - 因此,我只是重寫了需要管理員權限的位,因此我現在不再看到原始問題。
這只是發生在WIN7;我用fiddler2監視HTTP/HTTPS流量。我找到嵌入式Web瀏覽器訪問這個網站:http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab?50ff94e72ac1a75c;the的解決辦法是遵循:http://support.microsoft.com/kb/2730040/en(方法2或方法3)。你可以嘗試it.other你可以使用.net framework4.0,那麼你沒有這個問題。
你檢查了你的錯誤日誌嗎?可能有線索爲什麼你的應用程序無響應。用這麼少的信息很難診斷你的問題。 – Eric
@autumyst我不認爲有這樣的問題。它只在緩慢的網站加載時暫停。發生這種情況時,Windows 7(例如)會向用戶提供選項「等待」或結束任務,該任務看起來不太好。 – Dan
一個重要的問題 - 爲什麼使用WebBrowser控件?你想做什麼?這是一個非常麻煩的控制,並根據您的需求,可能有更好的方法。 – riwalk