.Net?Core以windows服務(wù)方式部署
前言
netcore用了這么久,雖然多數(shù)都是部署在centos系統(tǒng),但也有部署在windows上的情況。最省力的部署方式是發(fā)布后直接在發(fā)布目錄打開cmd,運行dotnet命令。雖然很省力,但是保留一個命令窗口,如果需要同時部署多個程序的話,就會保留多個窗口,而且還不能叉掉,對強迫癥(我這種)來說簡直不能忍。。。。
所以更好的部署方式就是把程序以windows服務(wù)的方式部署,還可以設(shè)置自動啟動,節(jié)省一點運維成本。
怎么做?
首先準備一個core程序,然后引入這個包:
再然后找到main入口:
public static void Main(string[] args) { var host = CreateWebHostBuilder(args).Build(); if (Debugger.IsAttached) host.Run(); else host.RunAsService(); }
Debugger.IsAttached的意思是:程序是否以debug模式啟動,是的話返回true,否則false
這幾行代碼的意思就是:如果是debug模式,就還保持窗口啟動,到了發(fā)布環(huán)境就以服務(wù)方式啟動。
為什么呢?因為只以服務(wù)啟動程序的話,debug啟動會報錯,這樣寫更方便。
就這?
當然不是。我們還需要在服務(wù)器搞些動作。
當我們把發(fā)布好的文件在服務(wù)器保存好以后,管理員身份打開cmd,執(zhí)行這條命令:
sc create 你的服務(wù)名稱 binPath= "\"C:\program files\dotnet\dotnet.exe\" \"程序發(fā)布目錄\"" DisplayName= "你的服務(wù)名稱" start= auto
(重點:binPath、DisplayName、start這三個參數(shù)的等號后面必須帶一個空格)
然后就可以在服務(wù)列表里看到它了:
如果上面的操作都沒問題,但服務(wù)就是跑不起來,有可能是SDK版本不對,下對版本就可以了。
到此這篇關(guān)于.Net Core以windows服務(wù)方式部署的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#結(jié)合OpenCVSharp4使用直方圖算法實現(xiàn)圖片相似度比較
這篇文章主要為大家詳細介紹了C#如何結(jié)合OpenCVSharp4使用直方圖算法實現(xiàn)圖片相似度比較,文中的示例代碼簡潔易懂,需要的小伙伴可以參考下2023-09-09C#語言基礎(chǔ)——結(jié)構(gòu)體和枚舉類型全面解析
下面小編就為大家?guī)硪黄狢#語言基礎(chǔ)——結(jié)構(gòu)體和枚舉類型全面解析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07DevExpress中GridControl列轉(zhuǎn)義的實現(xiàn)方法
這篇文章主要介紹了DevExpress中GridControl列轉(zhuǎn)義的實現(xiàn)方法,在項目開發(fā)中有一定的實用價值,需要的朋友可以參考下2014-08-08