最近在做一個專案,軟體內嵌入webbrowser,顯示網頁,后臺執行緒有chttpfile進行服務器心跳檢測。軟體正常使用,并設定為開機啟動。
現在發現問題,在使用2個月后逐漸出現,開機時webborwser很久才能打開網頁,chttpfile也是一樣,打開時間隨著天數越來越久,現在開機啟動時打開需要10多分鐘之久。
在能夠打開之后,就正常了,退出軟體再啟動也正常。
就是每次開機啟動要等一段時間webbrowser和chttpfile才能正常訪問網路,而且等待時間隨著天數越來越長。但是出現問題時,瀏覽器能正常打開網頁,PING網路也一切正常。
開機時檢查發現,taskhost.exe行程開機時cpu占用偏高,當taskhost.exe占用為0后,就能正常訪問網路。如果直接殺死taskhost.exe依然要等很久才能正常訪問網路。殺死taskhost.exe后,又會出現dllhost.exe占用cpu高的現象。
在網路上找禁止taskhost的方法都試過了。都禁用了,問題依舊。
試過了殺毒,殺木馬都沒有找到例外,而且問題依舊。
網路上已經找遍了,沒有遇到有相同問題的人,希望這里有人做過類似專案,遇到此類問題。
作業系統win7和win8都試過,都是這樣。taskhost和dllhost占用高,是不是windows系統的com支持出現了問題,還是windows的系統漏洞。
uj5u.com熱心網友回復:
應該不是,主要是開機的時候,系統會有很多服務開始做初始化動作,所以你的程式應該稍微等系統啟動一段實踐后延時uj5u.com熱心網友回復:
程式中 加個 延時 定時器,或 先sleep 一段時間。uj5u.com熱心網友回復:
謝謝版主的回復,我仔細觀察過,并不是系統初始化造成的,因為直接用IE瀏覽器等都可以訪問網頁。但是用WEBBROWSER控制元件和CHTTP協議的編程就打不開。估計是COM造成的系統問題。
而且隨著時間推移越來越慢。剛裝系統幾十秒,用一個月后要幾分鐘,甚至十幾分鐘,才能正常訪問。
uj5u.com熱心網友回復:
謝謝版主的回復,我仔細觀察過,并不是系統初始化造成的,因為直接用IE瀏覽器等都可以訪問網頁。但是用WEBBROWSER控制元件和CHTTP協議的編程就打不開。估計是COM造成的系統問題。
而且隨著時間推移越來越慢。剛裝系統幾十秒,用一個月后要幾分鐘,甚至十幾分鐘,才能正常訪問。
這個不現實
uj5u.com熱心網友回復:
WIndows正在更新中……uj5u.com熱心網友回復:
1 windows后臺的自動更新會造成這種情況,解決辦法是關閉后臺的自動更新2 設定webbrowser里的本地cache為關閉,如果有的話
一般設定完這兩個,就不會存在你說的問題了
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/79637.html
標籤:網絡編程
