欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.Net?Core以windows服務(wù)方式部署

 更新時(shí)間:2022年01月17日 14:27:26   作者:老馬-Max  
這篇文章介紹了.Net?Core以windows服務(wù)方式部署,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

netcore用了這么久,雖然多數(shù)都是部署在centos系統(tǒng),但也有部署在windows上的情況。最省力的部署方式是發(fā)布后直接在發(fā)布目錄打開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ò),這樣寫更方便。

就這?

當(dāng)然不是。我們還需要在服務(wù)器搞些動(dòng)作。

當(dāng)我們把發(fā)布好的文件在服務(wù)器保存好以后,管理員身份打開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ù)列表里看到它了:

如果上面的操作都沒問(wèn)題,但服務(wù)就是跑不起來(lái),有可能是SDK版本不對(duì),下對(duì)版本就可以了。

最后貼上官方文檔地址:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/windows-service?view=aspnetcore-2.1&tabs=visual-studio

到此這篇關(guān)于.Net Core以windows服務(wù)方式部署的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論