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 属性,修改默认设置。 

默认值可以是:

  • 项目
  • 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 的解决方案资源管理器中右键单击项目名称,然后从上下文菜单中选择“属性”。 单击项目“属性”窗口中的“调试”选项卡,如下图

使用 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 保留版权

感谢您对我的支持

[08]ASP.NET Core 中 launchsettings.json 启动配置文件的更多相关文章

  1. 如何在ASP.NET Core中使用JSON Patch

    原文: JSON Patch With ASP.NET Core 作者:.NET Core Tutorials 译文:如何在ASP.NET Core中使用JSON Patch 地址:https://w ...

  2. ASP.NET Core中返回 json 数据首字母大小写问题

    ASP.NET Core中返回 json 数据首字母大小写问题 在asp.net core中使用ajax请求动态绑定数据时遇到该问题 后台返回数据字段首字母为定义的大写,返回的数据没有问题 但是在前台 ...

  3. ASP.Net Core中设置JSON中DateTime类型的格式化(解决时间返回T格式)

    最近项目有个新同事,每个API接口里返回的时间格式中都带T如:[2019-06-06T10:59:51.1860128+08:00],其实这个主要是ASP.Net Core自带时间格式列化时间格式设置 ...

  4. 在ASP.NET Core中使用托管启动(hosting startup)程序集,实现批量注册service

    在启动ASPNET Core时可以从外部程序集向应用添加增强功能.例如,外部库可以用托管启动( hosting startup) 实现为应用程序提供附加配置(Configuration)或服务(ser ...

  5. Asp.Net Core中Json序列化处理整理

    一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C ...

  6. ASP.NET Core之项目文件简介及配置文件与IOC的使用

    原文地址:https://www.cnblogs.com/knowledgesea/p/7079880.html 序言 在当前编程语言蓬勃发展与竞争的时期,对于我们.net从业者来说,.Net Cor ...

  7. ASP.NET Core 中文文档 第三章 原理(1)应用程序启动

    原文:Application Startup 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay) ASP.NET Core 为你的应用程 ...

  8. ASP.NET Core 中文文档 第三章 原理(11)在多个环境中工作

    原文: Working with Multiple Environments 作者: Steve Smith 翻译: 刘浩杨 校对: 孟帅洋(书缘) ASP.NET Core 介绍了支持在多个环境中管 ...

  9. 在 ASP.NET Core 中执行租户服务

    在 ASP.NET Core 中执行租户服务 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: http://gunna ...

随机推荐

  1. 08-Django 模板

    需要教程的请关注个人微信公众号 模板:产生html,用于控制页面的展示,模板不仅仅是一个html文件,它包含两部分内容: 静态内容:css,js,image 动态内容:用模板语言语言动态的产生一些网页 ...

  2. mongodb基本安装

    这次搞搞NOSQL, 但最简单的MONGODB安装,还是要作点配置的. 一,安装网址: https://www.mongodb.com/download-center/community?jmp=na ...

  3. 05-Node.js学习笔记-第三方模块

    5.1什么是第三方模块 别人写好的,具有特定功能的,我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包. 第三方模块有两种存在形式 以js文件的 ...

  4. FreeHttp1.2升级说明

    一.升级方法 下载新版本插件 https://files.cnblogs.com/files/lulianqi/FreeHttp1.2.zip  或 http://lulianqi.com/file/ ...

  5. Json数组(以[ ] 中括号开头)字符串转为json对象

    以 [] 开头的json数组字符串: str = "[{ "姓名":"张三", "年龄":"28" }]&qu ...

  6. Python 爬虫从入门到进阶之路(一)

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联 ...

  7. 面试再问ThreadLocal,别说你不会

    转载自:公众号<Java知音> ThreadLocal是什么 以前面试的时候问到ThreadLocal总是一脸懵逼,只知道有这个哥们,不了解他是用来做什么的,更不清楚他的原理了.表面上看他 ...

  8. arcgis api 4.x for js 自定义 Draw 绘制手绘面以及手绘线,只针对二维视图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类 ...

  9. mysql登陆时出现ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

    有4到5天没开mysql,这天晚上打=打开phpstudy,想进去mysql练习练习,结果丢给我这个 ERROR 2013 (HY000): Lost connection to MySQL serv ...

  10. 转战物联网·基础篇03-从JSON数据到短指令谈思维的转变

      了解了物联网项目的大体结构之后,我们先从物联网的联网相关部分说起,这也是物联网项目中的关键环节.在联网环节中,不仅要考虑如何连接上,还要考虑连接后如何传输数据.换句话说数据是以什么格式进行传输,对 ...