記錄幾個window服務常見的坑

2022-06-24 06:45:12 字數 1359 閱讀 1970

windows服務看起來很簡單,但在實際使用過程中經常會有奇奇怪怪的問題,我不相信只有我乙個人遇到這些錯誤。

1,刪除服務刪不掉

不管我們用什麼方式刪除服務,刪除的只是標記,正在執行的服務並不會停下來。這會導致一些其他的問題。所以刪除後一定要執行停止服務的命令或在服務面板停止服務,或者乾脆在先停止服務再刪除。

2,停止服務停不掉

停止服務時,有時候會出現停不調,關不了,刪不掉的情況。這個時候可以在任務管理器裡面找到這個程序然後殺死。

快速尋找程序的方法:右擊任務管理器列表的表頭,勾選命令列。然後就可以看見應用程式的目錄了。根據命令列目錄很容易找到。

3, 啟動

/停止服務很慢或者超時。

造成這個問題往往是你的**有問題,服務的**往往是一段阻塞或者輪詢式的**。

在onstart裡面寫阻塞的**,雖然可以正常執行,但是阻塞會讓服務控制中心認為啟動超時。 正確的做法是在乙個新的執行緒裡面執行我們的阻塞**。

//正確的方式,在乙個執行緒裡面啟動我們的業務

protected override void onstart(string args)

}); ;

thread.start();

}//錯誤的方式,這裡的阻塞會讓service.msc不知道我們啟動成功了沒有

protected override void onstart(string args)

}

4,控制台程式可以作為服務嗎?

不可以。服務必須實現一些功能介面,比如:安裝,啟動,暫停等等。

普通的非服務程式,雖然可以用sc 命令安裝成功,但無法正確執行。

正確的做法還是建立window 服務程式。

幾個常用命令

建立服務

sc create 服務名 binpath="exe檔案路徑" displayname=顯示名稱 start=auto

修改服務描述

sc description 服務名 "服務描述"

停止服務

sc stop 服務名

刪除服務

sc delete 服務名

window物件的常見事件

window.onload function 或者 window.addeventlistener load function window.onload是視窗 頁面 載入事件,當文件內容完全載入完會觸發該事件 包括影象 指令碼檔案 css檔案等 就呼叫的處理函式。注意 1.有了window.onl...

window 物件常見的事件

1.頁面載入事件 方式1 window.onload function window.addeventlistener load function window.onload 是視窗 頁面 載入事件,當文件內容完全載入成功,就會觸發該事件 包括影象,指令碼檔案,css檔案等 就呼叫的處理函式。注意 ...

新建和發布Windows服務的幾個常見問題

1.如何安裝服務?利用.net framework帶的服務安裝工具installutil.exe,它位於c windows microsoft.net framework v1.1.4322 資料夾下。開啟visual studio net 200 命令提示,安裝命令是 installutil c ...