使用cmd命令行(.NET Core CLI)來啟動ASP.NET Core 應用程式的多個實例

来源:https://www.cnblogs.com/xyh9039/archive/2020/06/19/13155059.html
-Advertisement-
Play Games

本章主要和大家分享下如何使用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

版權聲明:如有雷同純屬巧合,如有侵權請及時聯繫本人修改,謝謝!!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 結論: PHP中提供了反射類來解析類的結構; 通過反射類可以獲取到類的構造函數及其參數和依賴; 給構造函數的參數遞歸設置預設值後,即可使用這些帶預設值的參數通過 newInstanceArgs 實例化出類對象; 在實例化的過程中,依賴的類也會被實例化,從而實現了依賴註入。 PHP中反射類的常用方法: ...
  • GIT本地庫操作基本原理 GIT作為分散式版本庫軟體,每個機器上都是一個版本庫。 git初始化後,有三個區,分別是 工作區,暫存區,本地庫; 工作區是我們編輯代碼的區別,包括新增,修改,刪除代碼操作,我們編輯代碼後,添加到暫存區; 暫存區是臨時存儲代碼的地方,方便批量提交數據到本地庫; 本地庫是最終 ...
  • 上一篇文章講到了CentOS6.7的安裝教程,安裝步驟到時區選擇這塊了,這篇文章接上篇文章,繼續講述CentOS6.7的安裝教程,直至安裝完成。 17、設置root的登錄密碼,日後登錄虛擬機,用戶名就是root,密碼就是現在設定的這個,當然密碼後期是可以更改的,這點不用操心。 18、當密碼設置的過於 ...
  • 今天就來吐槽位元組跳動的面試...... 有種飄飄然的趕腳...... 人們都說,這個世界上有兩種人註定單身,一種是太優秀的,另一種是太平凡的。 我一聽, 呀?那我這豈不是就不優秀了嗎,於是毅然決然和女朋友分了手。 人們都說,互聯網寒冬來了,這個時候還在大面積招人的公司,必然是牛逼的公司。 而這個時候 ...
  • 在 C# 中,我們可以使用 WMI 類中的 Win32_Service 或者 Win32 API 中的函數 ChangeServiceConfig 來修改本地或遠程電腦 Windows 服務登錄身份 (賬戶) 的用戶名和密碼。 1、使用 Win32 API 修改服務登錄身份信息: 使用 Win32 ...
  • 在Startup文件的ConfigureServices函數里註入服務 public void ConfigureServices(IServiceCollection services) { #region Cors跨域請求 services.AddCors(c => { c.AddPolicy( ...
  • 最近要搭建新項目,因為還沒有用過.net core,所以想用.net core的環境搭建新項目,因為不熟悉.net core的架構,所以就下載了abp項目先瞭解一下。 但是自己太菜了,下載了模板項目,在啟動的過程中一波三折,其曲折真是無法用言語形容。(但是我沒有灰心!沒有什麼技術是在努力的情況下學不 ...
  • 效果圖預覽 源碼下載地址 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...