.net Core进阶----关于.NET Core那些事(2)【关于项目的三种启动方式、windows上IIS项目的发布部署】

418 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、关于项目启动的方式

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等,有时间整理的话会另外写一篇文章进行分享==