.Net?Core以windows服務(wù)方式部署
前言
netcore用了這么久,雖然多數(shù)都是部署在centos系統(tǒng),但也有部署在windows上的情況。最省力的部署方式是發(fā)布后直接在發(fā)布目錄打開(kāi)cmd,運(yùn)行dotnet命令。雖然很省力,但是保留一個(gè)命令窗口,如果需要同時(shí)部署多個(gè)程序的話,就會(huì)保留多個(gè)窗口,而且還不能叉掉,對(duì)強(qiáng)迫癥(我這種)來(lái)說(shuō)簡(jiǎn)直不能忍。。。。
所以更好的部署方式就是把程序以windows服務(wù)的方式部署,還可以設(shè)置自動(dòng)啟動(dòng),節(jié)省一點(diǎn)運(yùn)維成本。
怎么做?
首先準(zhǔn)備一個(gè)core程序,然后引入這個(gè)包:

再然后找到main入口:
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
if (Debugger.IsAttached)
host.Run();
else
host.RunAsService();
}Debugger.IsAttached的意思是:程序是否以debug模式啟動(dòng),是的話返回true,否則false
這幾行代碼的意思就是:如果是debug模式,就還保持窗口啟動(dòng),到了發(fā)布環(huán)境就以服務(wù)方式啟動(dòng)。
為什么呢?因?yàn)橹灰苑?wù)啟動(dòng)程序的話,debug啟動(dòng)會(huì)報(bào)錯(cuò),這樣寫(xiě)更方便。
就這?
當(dāng)然不是。我們還需要在服務(wù)器搞些動(dòng)作。
當(dāng)我們把發(fā)布好的文件在服務(wù)器保存好以后,管理員身份打開(kāi)cmd,執(zhí)行這條命令:
sc create 你的服務(wù)名稱 binPath= "\"C:\program files\dotnet\dotnet.exe\" \"程序發(fā)布目錄\"" DisplayName= "你的服務(wù)名稱" start= auto
(重點(diǎn):binPath、DisplayName、start這三個(gè)參數(shù)的等號(hào)后面必須帶一個(gè)空格)
然后就可以在服務(wù)列表里看到它了:

如果上面的操作都沒(méi)問(wèn)題,但服務(wù)就是跑不起來(lái),有可能是SDK版本不對(duì),下對(duì)版本就可以了。
到此這篇關(guān)于.Net Core以windows服務(wù)方式部署的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#里SuperSocket庫(kù)不能發(fā)現(xiàn)命令的原因
這篇文章主要介紹C#里SuperSocket庫(kù)不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來(lái)寫(xiě)服務(wù)器的過(guò)程中,這是一個(gè)非??焖俚拈_(kāi)發(fā)方式,也非常好用。不過(guò)學(xué)習(xí)的曲線有點(diǎn)高,在使用的過(guò)程中經(jīng)常會(huì)遇到各種各樣的問(wèn)題。下面來(lái)看看學(xué)習(xí)舉例說(shuō)明吧2021-10-10
C#利用PrintDocument定制打印單據(jù)的小例子
這篇文章主要給大家介紹了關(guān)于C#利用PrintDocument定制打印單據(jù)的小例子,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C#具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
C#使用linq對(duì)數(shù)組進(jìn)行篩選排序的方法
這篇文章主要介紹了C#使用linq對(duì)數(shù)組進(jìn)行篩選排序的方法,實(shí)例分析了C#實(shí)用linq擴(kuò)展進(jìn)行數(shù)組排序的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
Silverlight實(shí)現(xiàn)星星閃爍動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Silverlight實(shí)現(xiàn)星星閃爍動(dòng)畫(huà),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07

