国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.net開發windows服務小結

2019-11-17 02:18:22
字體:
來源:轉載
供稿:網友

.net開發windows服務小結

今天學習了在.net下創建一個windows服務,總結一下學習心得。 開發環境:visual studio 2012一、編寫程序  (1)創建一個空解決方法  (2)添加一個控制臺應用程序項目  (3)添加一個Windows服務,如下所示:  (4)右鍵 查看代碼    看到如下代碼:
public WindowsService(){    InitializeComponent();}PRotected override void OnStart(string[] args){            }protected override void OnStop(){            }

  其中,OnStart方法在啟動服務時執行;OnStop方法在停止服務時執行;還有兩個重載方法:OnPause、OnContinue,分別在暫停服務時執行、恢復服務時執行;它們對應于下圖所示的操作:

  

  (5)添加代碼:  

private Thread timerThread;/// <summary>/// 啟動服務時執行/// </summary>/// <param name="args"></param>protected override void OnStart(string[] args){    File.AppendAllText("D://1.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":windows服務開始工作!/r/n", Encoding.Default);    timerThread = new Thread(new ThreadStart(Start));    timerThread.Start();}/// <summary>/// 停止服務時執行/// </summary>protected override void OnStop(){    timerThread.Abort();    File.AppendAllText("D://1.txt", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":windows服務結束工作!", Encoding.Default);}private void Start(){    while (true)    {        using (StreamWriter writer = new StreamWriter("D://1.txt",true,Encoding.Default))        {            writer.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":每十秒鐘輸出一次!");        }        Thread.Sleep(10 * 1000);    }}

  (6)安裝程序,設置屬性

  在設計器中添加安裝程序

  

    會生成一個ProjectInstaller.cs文件,如下圖所示:

    

    然后需要做兩件事情:

      ①設置serviceProcessInstaller1控件的Account屬性為“LocalSystem”

      ②設置serviceInstaller1組件的StartType屬性為Automatic,把服務設置為自動啟動

  (7)啟動服務

    打開vs的開發人員命令提示 工具 以管理員身份運行

    

    執行如下所示命令:

    

    ①進入到項目所在文件夾,并進入/bin/Debug/路徑下

    ②安裝服務命令:installutilConsoleapplication.exe,然后就可以在服務列表中看到我們啟動的服務:

    

    卸載服務的命令是:installutil /uConsoleApplication.exe

    當我們修改代碼后,需要把服務先卸載,才能重新生成成功

    ③啟動服務

      啟動服務后,等一會兒再停止服務,然后我們打開D盤下的1.txt文檔,可以看到下圖所示的結果:

    

二、調試

  在服務運行的狀態下,我們找到菜單欄,調試——>附加到進程

  

  注意勾選“顯示所有用戶的進程”,選項,找到我們的進程,點擊附加,然后在程序中添加斷點,就可以調試程序了!

  

另:昨天又嘗試把windows服務部署在另外一臺沒有安裝virtual studio的機器上,沒有了vs的開發人員命令提示,又查閱了半天資料,才找到解決辦法,再次貼出來供以后查閱:

  主要是使用sc命令,sc是用于與服務控制管理器和服務進行通信的命令行程序。

  關于sc命令的詳細說明,我還沒有詳細了解,目前只會使用創建、刪除命令;SC命令的更多用法請在cmd命令提示符中執行help sc 查看

  創建服務<將其添加到注冊表>,示例:sc create MsgService binpath= "F:/Message Service/Service.exe" displayname= "短信服務" start= auto

    其含義表示創建一個名為MsgService的服務;地址為F:/Message Service/Service.exe,這個地址指向可執行程序;顯示的名字為“短信服務”;自動啟動

  <從注冊表>刪除服務,示例:sc delete MsgService

  

  知道使用什么命令了,但是都需要把什么文件部署到另外一個計算機呢?

  不需要右鍵發布項目,只需要把工程目錄bin/Debug/下的所有文件拷貝到服務器上即可,如下圖所示:

  

  然后進入服務列表,啟動服務即可


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳江市| 绍兴市| 西乌珠穆沁旗| 太仓市| 宜昌市| 吴旗县| 普兰县| 广东省| 寻甸| 株洲县| 乌审旗| 太湖县| 漠河县| 西丰县| 中江县| 石台县| 柳林县| 临朐县| 梅河口市| 英山县| 邳州市| 日喀则市| 临颍县| 霍山县| 大悟县| 子长县| 大石桥市| 宁陵县| 静乐县| 石渠县| 北京市| 台南市| 平山县| 平原县| 阿拉善左旗| 岗巴县| 扶风县| 大余县| 荔波县| 井研县| 长宁县|