首页 技术 正文
技术 2022年11月15日
0 收藏 961 点赞 3,600 浏览 2614 个字

ASP.NET Core launchsettings.json 启动配置文件

本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 
文章会随着版本进行更新,关注我获取最新版本 
本文出自《从零开始学 ASP.NET Core 与 EntityFramework Core》目录 
视频课程效果更佳:跨平台开发实战掌握 ASP.NET Core 与 EntityFramework Core

ASP.NET Core launchsettings.json 文件

在本视频中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性。

launchsettings.json 文件

  • 您将在项目根文件夹的**“Properties”**文件夹中找到此文件。
  • 当我们从 Visual Studio 或使用.NET Core CLI 运行此 ASP.NET Core 项目时,将使用此文件中的设置。
  • 此文件仅用于本地开发环境。我们不需要把它发布到生产环境的 Asp.net Core 程序中。
  • 如果您希望您的 Asp.Net Core 应用程序在发布和部署应用程序时使用某些独立的设置,请将它们存储在 appsettings.json 文件中。我们通常将应用程序的配置信息存储在此文件中,比如数据库连接字符串。
  • 我们还可以使用不同环境的 appsettings.json 文件。例如,appsettings.Staging.json 用于临时环境。在- ASP.NET Core 中,除了 appsettings.json 文件外,我们还可以配置源,如环境变量,用户密钥,命令行参数甚至创建属于我们自己的自定义配置源。
  • 有关这些不同配置源的 appsettings.json 文件的更多用法,我们的下一个视频会讲。

ASP.NET Core 中的 Lanuch 配置文件

打开您的程序员,可以看到 launchSettings.json 文件中的设置 信息如下:

{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:3290",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"StudentManagement": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

JSON

请注意,我们有两个配置信息:

  • IIS Express 和 StudentManagement

当我们通过按CTRL + F5或只是F5从 Visual Studio 运行项目时。 默认情况下,使用调用配置文件名称"commandName": "IISExpress",。 另外一种情况,如果我们使用.NET Core CLI(dotnet run)运行项目,则使用带有"commandName": "Project",的配置文件 。

我们可以通过单击 Visual Studio 中的下拉列表来更改要使用的配置文件中 .commandName 属性,修改默认设置。 [08]ASP.NET Core 中 launchsettings.json 启动配置文件

默认值可以是:

  • 项目
  • IISExpress
  • IIS

此值与项目文件中的AspNetCoreHostingModel元素的值会有对应关系,会一起指定要启动的内部和外部 Web 服务器(反向代理服务器)。

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

您还可以通过直接编辑 launchSettings.json 文件中的设置,也可以使用 Visual Studio 提供的图形用户界面(GUI)更改设置。

通过 GUI 来设置

  • 在 Visual Studio 的解决方案资源管理器中右键单击项目名称,然后从上下文菜单中选择“属性”。 单击项目“属性”窗口中的“调试”选项卡,如下图

[08]ASP.NET Core 中 launchsettings.json 启动配置文件

使用 GUI 我们可以更改launchSettings.json文件中的设置。

注意,环境变量“ASPNETCORE_ENVIRONMENT”设置的默认设置为“Development”。

我们可以将此值更改为Staging或Production,具体取决于我们是在Staging还是Production环境中运行此项目。

我们还可以添加新的环境变量。这些环境变量在我们的 Asp.Net Core 应用程序中都可用,我们可以包含根据这些环境变量的值有条件地执行的代码。

例如,请参考Startup.cs文件中的Configure()方法中的以下代码

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} //其他的代码 }

C#

仅当环境为“ Development”时,才会显示“ 开发异常页面”。

我们将在即将发布的视频中详细讨论环境变量和开发人员异常页面。

文章说明

如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦 
未得到授权不得擅自转载本文内容,52abp.com 保留版权

感谢您对我的支持

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,954
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,479
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,291
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,108
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,740
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,774