解读ASP.NET 5 & MVC6系列教程(3):项目发布与部署

2019-05-22 14:51:39王振洲

本章我们将讲解ASP.NET5项目发布部署相关的内容,示例项目以我们前一章创建的BookStore项目为例。

发布前的设置

由于新版ASP.NET5支持多版本DNX运行环境的发布和部署,所以在部署之前,我们需要设定部署的目标DNX(即之前的KRE)。

步骤:右键BookStore项目->属性->Application选项卡,选择DNX的版本,本例中,选择dnx-coreclr-win-x64.1.0.0-beta4

project.json文件的commands节点,我们可以看到,系统默认配置了3个调试命令,分别如下:

命令 描述
web 启动WebListener服务,该服务可以让web程序脱离IIS运行,默认地址是http://localhost:5000。
gen 使用该命令可以生成MVC相关的代码,比如Controller,目前还用不到。
ef Entity Framework迁移命令,用于迁移数据使用,本例我们还用户不到。

理论上来说,我们F5运行的时候,应该是启动web命令,但是在VS2015中,默认的运行环境依然是IIS Express,所以F5调试的时候,会默认启动IIS Express。

gen参考://www.jb51.net/article/87244.htm
注意:web模式和IIS Express模式的程序运行端口不一样。

我们先F5调试运行,启动IIS Express,打开页面,一切正常。重新选择默认模拟器环境为web,再F5运行,这时候发现弹出了一个命令行窗口,并提示如下文字:

[INFORMATION:Microsoft.NET.Http.Server.WebListener] Start
[INFORMATION:Microsoft.NET.Http.Server.WebListener] Listening on prefix: http://localhost:5000/
Started

代码没有出错,但是并没有打开浏览器窗口,我们手工打开一个浏览器访问上述网址,即可看到该示例程序的界面,此时说明,该BookStore已经成功运行在5000端口了。其实该模式下的浏览器自动打开功能默认是关闭的,可以通过如下方式开启自动打开功能:

步骤:右键BookStore项目->属性->Debug选项卡,勾选Launch Brower复选框,并在输入框里输入上述网址即可(此时会在项目的Properties目录下生成一个debugSettings.json文件来保存上述信息)。

再次F5运行,即可看到自动打开的浏览器界面。

应用程序参数
在该Debug选项卡中,我们还看到一个应用程序参数(Application Arguments)输入框,该输入框可以传入多种参数,这些参数可以在Startup.cs里,通过ConfigurationAddCommandLine方法进行收集并利用。

环境变量
同理,在Debug选项卡的最下面还有一个环境变量(Environment Variables)输入框,可以让我们在调试的时候自定义一些环境变量的值(key/value),然后通过