本章主要和大家分享下如何使用cmd命令行(.NET Core CLI)來啟動ASP.NET Core 應用程式的多個實例,以此來模擬集群。 ...
本章主要和大家分享下如何使用cmd命令行(.NET Core CLI)來啟動ASP.NET Core 應用程式的多個實例,以此來模擬集群。
.NET Core 命令行介面 (CLI) 工具是用於開發、生成、運行和發佈 .NET Core 應用程式的跨平臺工具鏈。
CLI 命令結構包含驅動程式(“dotnet”)和命令,還可能包含命令參數和選項。
話不多說,下麵我們進入本章主題:
首先我們來建個MVC的項目(目標框架:.NET Core 3.1),如下所示:
進入項目文件.csproj所在的目錄
輸入cmd後按Enter鍵就可以快速進入到指定目錄
dotnet run //.NET Core CLI命令 無需任何顯式編譯或啟動命令即可運行源代碼。
這樣子就算是啟動成功了,使用dotnet run命令啟動預設埠號是launchSettings.json中設置的5000
我們使用5000埠在瀏覽器中訪問看下是否真的啟動成功了
可以看到確實是啟動成功了
此時我們可以按Ctrl + C來停止程式,停止成功如下所示:
此時你如果不想使用5000埠,可以使用--urls命令參數來指定具體的埠,例如:
dotnet run --urls=http://*:8080
同樣的操作可以多開幾個命令行視窗,這樣子就可以做到同一套代碼,啟動不同進程,監聽不同埠,以此來模擬集群了,如下所示。
上面我們開了2個cmd界面,分別啟動了一個實例,埠號分別為8080和8081,下麵我們就可以使用這2個埠號訪問了
可以發現我們用這2個埠號都訪問成功了
此外還可以運行指定的項目
dotnet run -p NETCoreCLI.csproj //一個“-”是簡稱的p dotnet run --project NETCoreCLI.csproj //兩個“-”是全稱的project
此處輸入NETCoreCLI.csproj有個小技巧,就是輸入一個N後按Tab鍵就會自動補齊,這樣子就不用一個個字輸入了。
PS:需要特別註意的是上面介紹的啟動方式,一旦修改了程式代碼則都需要使用Ctrl+C停止後重新啟動。
當然有個小技巧就是加watch自動監聽程式代碼的修改,一旦修改了代碼就會自動重啟。
dotnet watch run -p NETCoreCLI.csproj --urls=http://*:8080
此外還有一個命令主要是用來啟動發佈後的應用,如下所示:
PS:使用該命令啟動的方式,一旦修改了代碼就需要停止,然後重新生成發佈,最後重新啟動。
dotnet [解決方案bin文件下的dll文件] --urls=http://*:8080 dotnet NETCoreCLI.dll --urls=http://*:8080
如果使用該命令直接啟動沒有發佈的應用則可能有些資源文件就訪問不到了,如下:
此時雖然可以啟動成功但是有些資源訪問不到,如下所示:
故該命令主要是用來啟動發佈後的應用,如下所示:
首先我們將項目發佈下,點擊項目 => 右鍵 => 選擇發佈
選擇IIS、FTP等
選擇文件系統
然後進行發佈
最後使用命令啟動發佈後的應用
可以看到啟動成功了
PS:
使用命令行方式啟動程式同樣也是可以支持附加到進程進行調試的。可以嘗試將w3wp.exe或者dotnet.exe又或者是應用程式.exe附加到進程進行調試。
其中應用程式.exe如下所示:
本文涉及到的.NET Core CLI命令小結:
dotnet run dotnet run --urls=http://*:8080 //urls指定ip和埠 dotnet watch run //watch監聽程式修改,一旦修改則重新啟動 dotnet watch run --urls=http://*:8080 dotnet run -p NETCoreCLI.csproj //一個“-”是簡稱的p dotnet run --project NETCoreCLI.csproj //兩個“-”是全稱的project dotnet watch run -p NETCoreCLI.csproj --urls=http://*:8080 dotnet [解決方案bin文件下的dll文件] --urls=http://*:8080 dotnet NETCoreCLI.dll --urls=http://*:8080 dotnet clean //清除項目的預設生成,與VS中的右鍵清理效果是一樣的 Ctrl + C //停止 cls //清除屏幕 Tab鍵 //自動補齊
PS:
詳細的.NET Core CLI可參考官網:https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-run
此文由博主精心撰寫轉載請保留此原文鏈接:https://www.cnblogs.com/xyh9039/p/13155059.html
版權聲明:如有雷同純屬巧合,如有侵權請及時聯繫本人修改,謝謝!!!