本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、关于项目启动的方式
1.IISExpress----VS内置服务器
2.控制台方式启动
==上面两种方式的端口信息配置在launchSettings.json中==
3.脚本启动----dotnet命令----此方法启动可以在启动的时候,传递参数。
==①.dotnet run:先编译再启动项目==
打开项目根目录,选中地址栏输入cmd,点击回车打开命令提示符
输入命令 : dotnet run
编译项目
输入命令:
dotnet run --urls=http://localhost:8181 格式:--urls=IP:端口 作用:改变端口号
传递参数演示(IConfiguration ):
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
namespace NET5WebApplication.Controllers
{
public class SecondController : Controller
{
IConfiguration _configuration = null;
public SecondController(IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult Index()
{
ViewBag.port = _configuration["port"];
return View();
}
}
}
CMD运行结果展示
输入命令:
dotnet run --urls=http://localhost:8181 --port=8181 传递参数的格式为:--参数名=值(=的前后不要加空格)
==②.dotnet dll名.dll:无法自动编译,在dll已经生成的情况下启动项目==
打开bin文件夹,选中地址栏输入cmd,点击回车打开命令提示符会自动切换到bin文件夹内
输入命令:
dotnet WebApplication1.dll 即可启动服务,窗口关闭=服务关闭。
输入命令:
dotnet WebApplication1.dll --urls=http://localhost:8181 格式:--urls=IP:端口 作用:改变端口号
传递参数演示(IConfiguration ):
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
namespace NET5WebApplication.Controllers
{
public class SecondController : Controller
{
IConfiguration _configuration = null;
public SecondController(IConfiguration configuration)
{
_configuration = configuration;
}
public IActionResult Index()
{
ViewBag.port = _configuration["port"];
return View();
}
}
}
CMD运行结果展示
输入命令:
dotnet NET5WebApplication.dll --urls=http://localhost:8181 --port=8181 传递参数的格式为:--参数名=值(=的前后不要加空格)
二、发布部署
==Windows平台----IIS部署== 1.安装IIS
在搜索框中搜索 启用或关闭Windows功能
找到Internet Information Services并将所有的选项勾选,点击确定
到此,安装成功
2.搭建环境
dotnet.microsoft.com/download/do…
进入上方网址,下载Hosting Bundle进行安装 (点击Hosting Bundle自身下载,不要点击后面的行64和x86)
打开IIS找到模块并双击进入
进入模块后看到AspNetCoreModuleV2就说明成功,这个很重要后面会用到 如果装完Hosting Bundle还未显示的话,点击右侧的配置本机模块勾选即可
3.发布项目
.NET Core的项目,必须发布后才可以进行部署
发布界面上支持发布各种类型,这边使用发布为文件夹类型
记住这边文件夹位置,后面IIS部署项目的时候定位到此目录下
发布成功后bin目录下的Release中生成了publish
对比下publish目录下的文件数量比bin中就只多了一个web.config,发.NET Core部署的关键也就在这个web.config中。把publish中的web.config复制到bin目录下,那么bin也可以可以作为部署时的指定目录来使用。那么就解析一下web.config到底配置了什么。
从截图中可以看到web.config文件中的配置很简单,而比较重要的地方就是被我用红框与黄框圈中的两个地方。黄框部分可以看得出来他做的事情实际上就是在《一、关于项目启动的方式中》演示的【脚本启动----dotnet命令】可以看作为 dotnet NET5WebApplication.dll,然后将aspNetCore中的配置交给红圈中配置的AspNetCoreModuleV2模块去执行,AspNetCoreModuleV2也就是上一步搭建环境中安装Hosting Bundle后出现的模块。
总结:
由此可得,发布的本质就是使用AspNetCoreModuleV2模块代替我们执行cmd命令去启动项目
4.IIS部署项目
打开IIS,在左上角的网站上右击选择新建网站
指定网站名称、物理路径(指定到发布时产生的publish目录)、端口后点击确定
浏览部署后的网站,成功访问。
==至此,发布部署流程结束,其他平台比如:linux、docker等,有时间整理的话会另外写一篇文章进行分享==