10.ASP.NET Core launchSettings.json file

这篇文章,我将带领大家学习ASP.NET Core中的launchSettings.json文件。为了学习它,我们打开之前建的空白模板的ASP.NET Core项目。

从上面的图片中你可以看到,我们项目的属性中有一个launchSettings.json文件。那么我们来一起学习这个重要的文件吧。

launchSettings.json文件

当我们使用Visual Studio或者.NET Core CLI运行项目的时候,就会使用到LaunchSettings.json文件中的这些设置。

你需要特别记住的一点就是:LaunchSettings.json文件,仅仅只是在本地的电脑上使用。这也就是意味着,当我们发布ASP.NET Core应用程序到生产环境的时候,这个文件是不需要的

当你有一些特别的设置,你需要你的应用程序能够在发布部署的时候使用,那么你应该把这些设置写在appSettings.json文件中。通常,在ASP.NET Core中,配置文件都是写在appsettings.json文件中的。我将会在下篇文章中讲到appsettings.json文件。

launchSettings.json文件中的配置信息

当你打开launchSettings.json文件,就会看到了这些配置信息:

在上面的图片中,你可以看到profiles有两个部分,一个是IIS Express,还有一个是EmptyTemplateCoreApp.

你需要记住的是:当你按CTRL+F5或者直接按F5,运行程序的时候,那么profiles中的”commandName”: “IIS Express”就会被使用。与此同时,当你使用.NET Core CLI运行ASP.NET Core应用程序的时候,那么profile中的“commandName”:”Project”这段配置就会被使用。

然而,当你想要选择哪个配置文件将会被使用,可以选择Visual Studio中的这个下拉框选项:

commandName属性的值,可以是下面几个:

  1. IIS Express
  2. IIS
  3. Project

CommandName属性的值,以及项目文件中的AspNetCoreHostingModel 节点的值,将会决定应用程序使用的是内部服务器,还是外部服务器(也叫反向代理服务器)。请看下面的表格。

修改Startup类中的Configure方法

修改Configure方法,以便在浏览器中显示程序运行的时候的工作进程:

案例一:

当我们使用Project作为命令行属性的值的时候,ASP.NET Core是会忽略AspNetCoreHostingModel节点中的值的。然后Kestrel服务器就是唯一的服务器来托管运行程序了,以及处理HTTP请求。我们如下操作:选择【EmptyTemplateCoreApp】

然后运行应用程序:

任务管理器中可以看到:使用的主机是ApplicationFrameHost.exe

现在改变一下项目文件,在里面添加:<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

运行的结果还是一样,这是因为:CommandName的属性是Project,然后就会忽略AspNetCoreHostingModel节点的配置,这个时候,Kestrel是唯一的服务器,来托管程序,并处理HTTP请求。这也就验证了表格中的第一条

案例二:

CommandName选择IIS Express,并且AspNetCoreHostingModel选择InProcess,那么IIS Express将会是唯一的服务器,来托管程序,处理HTTP请求了。

运行程序:可以看到这时候,进程名称就是iisexpres了。

案例三:

ComandName选择IIS Express ,AspNetCoreHostingModel选择OutOfProcess.这个时候,ASP.NET Core使用IIS Express作为外部服务器,Kestrel服务器作为内部服务器。外部服务器IIS Express将会接收HTTP请求,然后传递给内部服务器来处理。我们来验证一下:

运行程序:

怎样在Visual Studio 中使用图形用户界面来获取设置CommandName?

右键项目--选址属性,然后找到Debug,就看到了:

使用图形界面,我们同样可以改变launchSettings.json中的设置。这里你可以看到环境变量“ASPNETCORE_ENVIRONMENT”的值是”Development”,当你运行项目的时候,你可以改变成“Staging”或者“Production”,当然你还可以自己添加环境变量。并且你还可以根据环境变量做一些事情,例如:

上面的图片中,将会检查是否是开发环境,如果是,就执行开发环境下的异常页面。在后面的文章中,将会讲到更多的环境变量。

下篇文章将要讲到ASP.NET Core appsettings.json文件。在这篇文章我已经详细介绍了launchSettings.json文件,大家清楚了么?

原文地址:https://www.cnblogs.com/caofangsheng/p/12640967.html

时间: 2024-11-05 21:41:09

10.ASP.NET Core launchSettings.json file的相关文章

ASP.NET Core appsettings.json 文件

ASP.NET Core appsettings.json 文件 在本节中,我们将讨论 ASP.NET Core 项目中appsettings.json文件的重要性. 在以前的 ASP.NET 版本中,我们将应用程序配置设置(例如数据库连接字符串)存储在web.config文件中. 在 Asp.Net Core 中, 应用程序配置设置可以来自以下不同的配置源. 文件(appsettings.json, appsettings..json) Environment环境不同,托管在对应环境. Use

[asp.net core]project.json(1)

摘要 前面介绍了使用vs2015新建asp.net core web的内容,这篇文章学习下project.json文件的内容. project.json 原文:https://docs.microsoft.com/zh-cn/dotnet/articles/core/tools/project-json project.json文件用来定义asp.net core项目的元数据,编译信息和依赖.在本篇文章中,你可以看到你能在project.json中定义的所有属性列表. Note .NET Cor

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

一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C# Json序列化工具--Newtonsoft.Json简介和使用 1.Newtonsoft.Json仅 依赖.Net Standard所以支持.Net Framework也支持.Net Core 2.更多说明 /* * 1.在Core Mvc中JsonResult 默认支持Get请求 * 2.使用

[asp.net core]project.json(2)

摘要 上篇文章介绍了project.json中的一部分属性.属性真的比较多,所以分开了,考虑到其中的英文比较简单,也不再进行翻译了,从英文原文中,直接粘贴过来了. project.json(1) project.json publicSign Type: Boolean true to enable signing of the resulting assembly; otherwise, false. The default is false. For example: { "buildOpt

如何在ASP.NET Core中自定义Azure Storage File Provider

文章标题:如何在ASP.NET Core中自定义Azure Storage File Provider作者:Lamond Lu地址:https://www.cnblogs.com/lwqlun/p/10406566.html项目源代码: https://github.com/lamondlu/AzureFileProvider 背景# ASP.NET Core是一个扩展性非常高的框架,开发人员可以根据自己的需求扩展出想要的功能.File Provider是ASP.NET Core中的一个重要组件

Professional C# 6 and .NET Core 1.0 - 40 ASP.NET Core

本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 40 ASP.NET Core ----------------------------------------------------------------------- What's In This Chapter? Understanding ASP.NET Core 1.0 and Web Technologies Using

Asp.Net Core发布绑定域名和端口

一.WebHostBuilder配置URL和端口进行侦听 UseUrls() 1.默认的ASP.NET Core项目绑定http://localhost:5000.通过使用UseUrls扩展方法--编辑urls命令行参数 2.指定格式:http://xxx:xxx,如:http://*:81 var host = new WebHostBuilder() // .UseUrls("http://localhost:5003","http://www.sqlme.com:80&

[转]Publishing and Running ASP.NET Core Applications with IIS

本文转自:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS#DoyouneedIIS? When you build ASP.NET Core applications and you plan on running your applications on IIS you'll find that the way that Core ap

Asp.Net Core WebAPI入门整理(三)跨域处理

一.Core  WebAPI中的跨域处理  1.在使用WebAPI项目的时候基本上都会用到跨域处理 2.Core WebAPI的项目中自带了跨域Cors的处理,不需要单独添加程序包 3.使用方法简单 二.使用实例 1.全局配置中启用跨域处理,命名为'any',任何都可以访问 public void ConfigureServices(IServiceCollection services) { //配置跨域处理 services.AddCors(options => { options.AddP