ASP.NET Core是一个全新的Web开发平台,微软在它上面构建了MVC、SingalR、GRPC、Orleans这样广泛使用的Web框架,我们先以MVC框架为例介绍利用ASP.NET Core构建项目的常见名词。这篇文章介绍启动配置文件launchSettings.json
ASP.NET Core MVC项目文件夹解读
一、Properties——launchSettings.json
启动配置文件,你可以在项目中“Properties”文件夹中找到该文件。launchSettings.json
文件是ASP.NET Core应用特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等。
在launchSettings.json
文件中进行配置修改,和开发者右键项目——属性中所提交的更改的效果是一样的(目前右键属性中的Property真是少得可怜),并且支持同步更新。
此文件设置了Visual Studio可以启动的不同环境,以下是示例项目中launchSettings.json文件生成的默认代码:
在这里有两个配置节点:“IIS Express”、“MvcDemo,这两个节点分别对应Visual Stuido的开始调试按钮的下拉选项,您可以选择对应的选项来启动应用程序:
launchSettings.json代码说明其中:
iisSettings是外部服务器的配置
iisSettings.iisExpress.applicationUrl : "http://localhost:28869"是外部 IIS 服务器的地址
iisSettings.iisExpress.sslPort: 44318是外部IIS 服务器的https端口
profiles是使用IIS托管调试程序的配置
profiles.IIS Express. 是调试命令的名称,如图:
profiles.IIS Express.launchBrowser :true 是否启动浏览器
profiles.IIS Express.launchBrowser :environmentVariables.ASPNETCORE_ENVIRONMENT:Development 是一个环境变量,可以在程序中使用,如下图
MvcDemo是我的项目的名称 和 profiles的配置差不多, 不过多了个地址可以配置 ,这个地址是CLI 内置kestrel 的地址.
当选用 command:project 的调试命令时, 忽略inProcess或 outProcess 的选项.
当选用 command:IIS Express 的调试命令时, 如果是inProcess,只启动一个web 服务器(IIS express), 如果是outProcess,启动两个web服务器,反向代理服务器为iis express , 内部服务器为kerstrel.
当选用 command:IIS 的调试命令时, 如果是inProcess,只启动一个web 服务器(IIS), 如果是outProcess,启动两个web服务器,反向代理服务器为iis , 内部服务器为kerstrel
commandName | AspNetCoreHostingModel 的值 | Internal Web Server(内部服务器) | External Web Server(外部服务器) |
---|---|---|---|
项目 | 忽略托管设置的值 | 只使用一个 Web 服务器 - Kestrel | 只使用一个 Web 服务器 - Kestrel |
IISExpress | 进程内托管(InProcess) | 只使用一个 Web 服务器 - IIS Express | 只使用一个 Web 服务器 - IIS Express |
IISExpress | 进程外托管(OutOfProcess) | Kestrel | IIS Express |
IIS | 进程内托管(InProcess) | 只使用一个 Web 服务器 - IIS | 只使用一个 Web 服务器 - IIS |
IIS | 进程外托管(OutOfProcess) | Kestrel | IIS |
要获取其它更多属性的详细信息,请转到此链接:http://json.schemastore.org/launchsettings 。