前言 Net core 項目部門在Windows有很多種方式,大致有以下幾種, dotnet 命令, iis(windowshosts), 一些開源的應用容器(docker ) 基于一些exe 程序,微軟官網上案例 Nssm 搭建windows服務 其中優劣對比在這不進行累述。我今天是把它搭建到windows服務上的,這種方式對于我們現有dotnet來說相對美觀(一個黑框框,一個看不到),電腦重啟可以自動重啟。 1.實現 1.1.下載nssm 官網http://www.nssm.cc/,下載地址http://www.nssm.cc/download  1.2.搭建windows 服務   找到文件夾下建立的Install.bat 點擊運行彈出操作窗體。 Install.bat內容: %~d0 cd %~dp0 nssm install NPSWebCoreService PAUSE Path:選擇系統運行bat----C:\Nps\CoreWeb\1run.bat ps:因為我們系統中要特殊處理所以直接執行了bat。此內容正常是填寫C:\Program Files\dotnet\dotnet.exe. 因為要執行dotnet命令,我這些操作實在bat中執行的。 Startup directory:bat 所在目錄不用改變; ps:發布項目文件夾的地址。 Arguments:為空; ps:項目運行dll: Service name:我寫在install.bat 批處理里面了,不要改變,因為代碼中重啟服務我這是寫死的。。 ps:創建線管名稱即可,即windows 服務名稱。 然后點擊Install service按鈕就完成了部署。 注:紅色字體為是一般處理方式,非紅色是我們系統中處理的方式 1.2.3 啟動服務 讓后輸入網站就可以訪問了 3. Nssm 3.1.輸入nssm 了解其命令行 3.2.官網http://www.nssm.cc/usage   4. 針對與咱們系統的問題的處理方案   4.1. 日志問題,nssm 中path 文件運行bat 不要運行dotnet.exe. Log4net 配置問題。 4.2. Office 轉換pdf 問題,windows servers 2008 服務器缺少com組件缺少窗口,我在程序中增加了相關代碼,如果沒有權限請手動創建(服務器2008 r2 ,2016都能創建)   //blog.csdn.net/wyzlwyzl/article/details/48686483   4.3.數據庫備份重啟服務問題,改為重啟windows服務,所以請用上面的install.bat運行不要,改變Service name。 重啟服務代碼: try { ServiceController service = new ServiceController("NPSWebCoreService"); if (service.Status == ServiceControllerStatus.Running) { service.Stop(); service.WaitForStatus(ServiceControllerStatus.Stopped); } service.Start(); service.WaitForStatus(ServiceControllerStatus.Running); } catch (Exception){}     4.4.netcoreweb要基于mysql 服務問題,擔心再啟服務器的時候,mysql和windows 服務啟動順序的問題,我在啟動bat 中怎么了判斷mysql服務是否啟動的判斷。 bat 內容: @echo off SETLOCAL enabledelayedexpansion rem 關閉自動輸出 :begin for /f "skip=3 tokens=4" %%i in ('sc query MySQL') do set "zt=%%i" &goto :next :next if /i "%zt%"=="RUNNING" ( echo 已經發現該服務在運行。 ) else ( net start MySQL80 echo 已經發現該服務在運行1。 ) rem 接收輸入 rem 輸出得到的輸入信息 echo 啟動NPSWebCore dotnet ./NPSWebCore.dll @echo 啟動結束 exit  
轉載自://www.cnblogs.com/kmonkeywyl/p/11506028.html
国产无遮挡无码视频在线观看