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

选择文件系统

然后进行发布

最后使用命令 启动发布后的应用

可以看到启动成功了

使用命令行方式启动程序同样也是可以支持附加到进程进行调试的。可以尝试将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键  //自动补齐

详细的.NET Core CLI可参考官网:https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-run

此文由博主精心撰写转载请保留此原文链接 https://www.cnblogs.com/xyh9039/p/13155059.html

版权声明:如有雷同纯属巧合,如有侵权请及时联系本人修改,谢谢!!!