我有一些運行Windows 2000的嵌入式PC很慢,並且無法可靠地啓動服務。發出命令'net start xxx'和'xxx服務正在啓動'之間有一個非常明顯的延遲。這導致我的服務無法啓動。網絡啓動命令延遲?
我的服務經常無法接收到「開始」命令(我正在記錄此事件,並且可以看到它從不發生)。
我試着在一個更快的XP盒子上重複這個,但延遲當然要短得多。然而,我故意在我的Onstart處理程序中添加一個sleep(60000) - 以模擬緩慢的啓動。
在這個(XP)盒子上 - 即使網絡啓動命令返回'xxx服務無法啓動(大約20多秒後),服務似乎繼續並且確實開始。在此期間,服務經理報告「開始」 - 直到我的睡眠(60000)完成並開始服務管理器報告。
我還嘗試將'ServicesPipeTimeout'註冊表項設置爲65000 - 這似乎沒有任何區別:-O - 是的,我做了重新啓動;-)。
有沒有人有任何想法爲什麼發生這種情況請??。即使我已將我的'ServicesPipeTimeout'註冊表項設置爲65000 - 網絡啓動在20秒左右後失敗:-O。
看起來如果我在這個「網絡啓動」命令超時之前設法發出啓動命令 - 我的服務確實會啓動。這就是爲什麼我嘗試將'ServicesPipeTimeout'註冊表項設置爲65000 - 但它似乎沒有任何區別。
NB我的服務應用程序是用C#編寫的,使用VS2008,目標是.Net Framework V2--就像舊2000盒可以支持的那樣。
非常感謝 - 希望永遠....
問候
格雷厄姆