亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c#創(chuàng)建windows服務(wù)(Windows Services)詳細步驟

 更新時間:2013年12月09日 11:52:41   作者:  
這篇文章主要介紹了c#創(chuàng)建windows服務(wù)(Windows Services)詳細步驟,大家參考使用吧

Windows服務(wù)在Visual Studio 以前的版本中叫NT服務(wù),在VS.net啟用了新的名稱。用Visual C# 創(chuàng)建Windows服務(wù)不是一件困難的事,本文就將指導(dǎo)你一步一步創(chuàng)建一個Windows服務(wù)并使用它。這個服務(wù)在啟動和停止時,向一個文本文件中寫入一些文字信息。
 第一步:創(chuàng)建服務(wù)框架

要創(chuàng)建一個新的 Windows 服務(wù),可以從Visual C# 工程中選取 Windows 服務(wù)(Windows Service)選項,給工程一個新文件名,然后點擊 確定。
你可以看到,向?qū)蚬こ涛募性黾覹ebService1.cs類:
其中各屬性的含意是:
Autolog                 是否自動寫入系統(tǒng)的日志文件
CanHandlePowerEvent     服務(wù)時候接受電源事件
CanPauseAndContinue          服務(wù)是否接受暫?;蚶^續(xù)運行的請求
CanShutdown 服務(wù)是否在運行它的計算機關(guān)閉時收到通知,以便能夠調(diào)用 OnShutDown 過程
 CanStop                              服務(wù)是否接受停止運行的請求
ServiceName                       服務(wù)名

第二步:向服務(wù)中增加功能

在 .cs代碼文件中我們可以看到,有兩個被忽略的函數(shù) OnStart和OnStop。
OnStart函數(shù)在啟動服務(wù)時執(zhí)行,OnStop函數(shù)在停止服務(wù)時執(zhí)行。在這里,當(dāng)啟動和停止服務(wù)時,向一個文本文件中寫入一些文字信息,代碼如下:

復(fù)制代碼 代碼如下:

protected override void OnStart(string[] args)
{
 FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("mcWindowsService:         Service Started"+DateTime.Now.ToString()+"\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();

}

protected override void OnStop()
{
FileStream fs = new FileStream(@"d:\mcWindowsService.txt" , FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(" mcWindowsService: Service Stopped "+DateTime.Now.ToString()+"\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();
}

 第三步: 將安裝程序添加到服務(wù)應(yīng)用程序

Visual Studio.NET 隨附有安裝組件,可用來安裝與服務(wù)應(yīng)用程序相關(guān)聯(lián)的資源。安裝組件在正在安裝到的系統(tǒng)上注冊一項單個的服務(wù),并使服務(wù)控制管理器知道該服務(wù)的存在。
要正確安裝服務(wù),并不需要在安裝程序中進行任何特殊編碼。但是,如果需要向安裝進程添加特殊功能,則可能偶爾需要修改安裝程序的內(nèi)容。

將安裝程序添加到服務(wù)應(yīng)用程序的步驟是:

1:在解決方案中,訪問要向其中添加安裝組件的服務(wù)的Design視圖。

2:在屬性窗口中,單擊添加安裝程序鏈接
這時項目中就添加了一個新類 ProjectInstaller 和兩個安裝組件 ServiceProcessInstaller 和 ServiceInstaller,并且服務(wù)的屬性值被復(fù)制到組件。

3:若要確定如何啟動服務(wù),請單擊 ServiceInstaller 組件并將 StartType 屬性設(shè)置為適當(dāng)?shù)闹怠?BR>Manual      服務(wù)安裝后,必須手動啟動。
Automatic    每次計算機重新啟動時,服務(wù)都會自動啟動。
Disabled     服務(wù)無法啟動。

4:將serviceProcessInstaller類的Account屬性改為 LocalSystem
這樣,不論是以哪個用戶登錄的系統(tǒng),服務(wù)總會啟動。

第四步:生成服務(wù)程序

通過從生成菜單中選擇生成來生成項目。
注意   不要通過按 F5 鍵來運行項目——不能以這種方式運行服務(wù)項目。
第五步:安裝服務(wù)
訪問項目中的已編譯可執(zhí)行文件所在的目錄。
用項目的輸出作為參數(shù),從命令行運行 InstallUtil.exe。在命令行中輸入下列代碼:

復(fù)制代碼 代碼如下:

installutil yourproject.exe

卸載服務(wù)

用項目的輸出作為參數(shù),從命令行運行 InstallUtil.exe。

復(fù)制代碼 代碼如下:

installutil /u yourproject.exe

相關(guān)文章

  • C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法

    C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法

    這篇文章主要介紹了C#實現(xiàn)DataTable轉(zhuǎn)換成IList的方法,涉及C#針對DataTable操作的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • C#編程實現(xiàn)DataTable添加行的方法

    C#編程實現(xiàn)DataTable添加行的方法

    這篇文章主要介紹了C#編程實現(xiàn)DataTable添加行的方法,結(jié)合兩個實例形式分析了C#操作DataTable實現(xiàn)動態(tài)添加行的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • C# 線程同步詳解

    C# 線程同步詳解

    本文主要介紹了C#中線程同步的相關(guān)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#中結(jié)構(gòu)(struct)的部分初始化和完全初始化實例分析

    C#中結(jié)構(gòu)(struct)的部分初始化和完全初始化實例分析

    這篇文章主要介紹了C#中結(jié)構(gòu)(struct)的部分初始化和完全初始化,通過實例分析了結(jié)構(gòu)初始化中常見的錯誤及技巧,有助于加深對C#結(jié)構(gòu)(struct)的認識,需要的朋友可以參考下
    2014-09-09
  • C#實現(xiàn)簡單的文件加密與解密方式

    C#實現(xiàn)簡單的文件加密與解密方式

    這篇文章主要介紹了C#實現(xiàn)簡單的文件加密與解密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C# 通過ServiceStack 操作Redis

    C# 通過ServiceStack 操作Redis

    這篇文章主要介紹了C# 通過ServiceStack 操作Redis的示例,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • C#中關(guān)于double.ToString()的用法

    C#中關(guān)于double.ToString()的用法

    這篇文章主要介紹了C#中關(guān)于double.ToString()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • c# 使用Task實現(xiàn)非阻塞式的I/O操作

    c# 使用Task實現(xiàn)非阻塞式的I/O操作

    這篇文章主要介紹了c# 使用Task實現(xiàn)非阻塞式的I/O操作,幫助大家更好的理解和學(xué)習(xí)c# 編程語言,感興趣的朋友可以了解下
    2020-11-11
  • C# Winform中DataGridView導(dǎo)出為Excel的實現(xiàn)示例

    C# Winform中DataGridView導(dǎo)出為Excel的實現(xiàn)示例

    本文主要介紹了C# Winform中DataGridView導(dǎo)出為Excel的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Unity實現(xiàn)Flappy Bird游戲開發(fā)實戰(zhàn)

    Unity實現(xiàn)Flappy Bird游戲開發(fā)實戰(zhàn)

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)Flappy Bird游戲開發(fā)實戰(zhàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12

最新評論