windows服務(wù)的編寫
1.要添加的引用
using System.ServiceProcess;
using System.ServiceModel ;
using WcfServiceLibraryAgain;//自己寫的WCF服務(wù)的名稱
2.寫windows服務(wù)
public partial class MainService : ServiceBase
{
ServiceHost host;
public MainService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
Type serviceType = typeof(Service1);//托管REST或非REST服務(wù)颗味,方式一樣遮婶。Service1就是要托管的wcf服務(wù)的類
host = new ServiceHost(serviceType);
host.Open();
}
}
注意:要將WCF中的配置文件拷貝到windows服務(wù)程序的配置文件中。(這點(diǎn)很重要)
手動安裝windows服務(wù)
1.將Windows服務(wù)程序切換到設(shè)計視圖剃袍, 右擊設(shè)計視圖選擇“添加安裝程序”
2.切換到剛被添加的ProjectInstaller的設(shè)計視圖
設(shè)置serviceInstaller1組件的屬性:
1) ServiceName = 服務(wù)名稱
2) StartType = Automatic ,即自動捎谨,Manual是手動民效,剩下那個是禁用憔维,不過這都不重要,安裝好后再服務(wù)管理器中可以很方便的設(shè)置畏邢。
設(shè)置serviceProcessInstaller1組件的屬性
1) Account = LocalSystem业扒,賬戶一般設(shè)置為本地系統(tǒng)
DisPlayName中設(shè)置的名字即你打開服務(wù)管理器中服務(wù)的名稱,我這里叫MyService1
然后重新生成一下
3.右鍵點(diǎn)擊開始按鈕棵红,選擇命令提示符(管理員)(A)凶赁,也就是以管理員身份運(yùn)行cmd,按如下路徑找到對應(yīng)安裝服務(wù)的程序C-windows-Microsoft.NET-Framework-v4.0.30319-InstallUtil.exe咧栗,在cmd中輸入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(即InstallUtil.exe的路徑逆甜,在其屬性中拷貝,必需右鍵粘貼)致板,回車運(yùn)行(注意cd 后要留空格)
右鍵解決方案交煞,選擇在資源管理器中打開文件夾,找到要安裝的windows服務(wù)的exe文件斟或,WindowService1-bin-Debug素征,拷貝其路勁,然后再cmd中繼續(xù)輸入命令I(lǐng)nstallUtil.exe+空格+路徑(注意路徑要完整萝挤,Debug后還要加上\名稱.exe),然后回車運(yùn)行完成安裝御毅,關(guān)鍵截圖如下:
至此服務(wù)已安裝成功!打開服務(wù)管理器查看服務(wù)是否存在怜珍。
手動卸載windows服務(wù)
如果覺得寫的服務(wù)有問題或者是其他原因想卸載服務(wù)端蛆,在cmd中與安裝是幾乎相同的,第一步完全以樣酥泛,第二步的命令變?yōu)镮nstallUtil.exe +空格+ –u +路徑(注意路徑要完整今豆,Debug后還要加上\名稱.exe)
補(bǔ)充:還可以用VS自帶的工具完成服務(wù)的安裝與下載,這時不需要做cmd中的第一步柔袁,直接到第二步就可以了呆躲,要方便一點(diǎn),卸載時該用命令\u,下面詳細(xì)說一下用VS自帶的工具怎么卸載服務(wù):
這時要注意還是要以管理員身份運(yùn)行
安裝幾乎相同捶索,就不用說了插掂!
總結(jié):手動安裝是服務(wù)安裝最老舊的方法,我們不能一直用這個方法腥例,但是學(xué)會了手動安裝會讓我們對服務(wù)的裝原理更了解一些辅甥,對寫自動安裝與卸載還是有幫助的,希望對大家有所幫助!