本章主要和你们分享下如何使用cmd命令行(.NET Core CLI)来启动ASP.NET Core 应用程序的多个实例,以此来模拟集群。html
.NET Core 命令行接口 (CLI) 工具是用于开发、生成、运行和发布 .NET Core 应用程序的跨平台工具链。json
CLI 命令结构包含驱动程序(“dotnet”)和命令,还可能包含命令参数和选项。浏览器
话很少说,下面咱们进入本章主题:框架
首先咱们来建个MVC的项目(目标框架:.NET Core 3.1),以下所示:工具
进入项目文件.csproj所在的目录url
输入cmd后按Enter键就能够快速进入到指定目录spa
dotnet run //.NET Core CLI命令 无需任何显式编译或启动命令便可运行源代码。
这样子就算是启动成功了,使用dotnet run命令启动默认端口号是launchSettings.json中设置的5000命令行
咱们使用5000端口在浏览器中访问看下是否真的启动成功了3d
能够看到确实是启动成功了调试
此时咱们能够按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
此文由博主精心撰写转载请保留此原文连接:http://www.javashuo.com/article/p-msdmvjda-ku.html