首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从Asp.NET Core 3.1启动类访问launchSettings.json中的`applicationUrl`属性?

在ASP.NET Core 3.1中,launchSettings.json文件用于配置应用程序的启动设置,包括applicationUrl属性。要从启动类访问launchSettings.json中的applicationUrl属性,可以通过以下步骤实现:

基础概念

launchSettings.json文件位于项目的根目录下,用于定义不同环境下的启动配置。每个配置文件包含一个或多个配置文件(profiles),每个配置文件定义了启动应用程序所需的设置,如URL、环境变量等。

相关优势

  • 灵活性:可以根据不同的环境(开发、测试、生产)配置不同的启动设置。
  • 易于管理:将启动配置集中管理,便于维护和修改。

类型

launchSettings.json文件中的配置文件通常包括以下类型:

  • Development:开发环境配置。
  • Staging:预发布环境配置。
  • Production:生产环境配置。

应用场景

在多环境部署时,使用launchSettings.json可以方便地切换和管理不同环境的启动配置。

如何访问applicationUrl

要从ASP.NET Core 3.1的启动类访问launchSettings.json中的applicationUrl属性,可以使用以下方法:

  1. 读取配置文件:使用IConfiguration接口读取launchSettings.json文件中的配置。
  2. 获取applicationUrl:从配置中提取applicationUrl属性。

示例代码

代码语言:txt
复制
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using System;

namespace YourNamespace
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) =>
                {
                    var env = context.HostingEnvironment;
                    if (env.IsDevelopment())
                    {
                        config.AddJsonFile("Properties/launchSettings.json", optional: true, reloadOnChange: true);
                    }
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

        public static string GetApplicationUrl(IConfiguration configuration)
        {
            var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
            var profile = configuration.GetSection("profiles").GetProfiles().FirstOrDefault(p => p.Name == environmentName);

            if (profile != null && profile.Properties.ContainsKey("applicationUrl"))
            {
                return profile.Properties["applicationUrl"].Value.ToString();
            }

            return null;
        }
    }
}

解释

  1. 读取配置文件:在CreateHostBuilder方法中,通过ConfigureAppConfiguration方法读取launchSettings.json文件。
  2. 获取applicationUrl:在GetApplicationUrl方法中,从配置中提取当前环境的applicationUrl属性。

参考链接

通过上述方法,你可以从ASP.NET Core 3.1的启动类中访问launchSettings.json中的applicationUrl属性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年02月 .NETC#知识点-.NET Core配置文件详解

网站其实也是进程之一,网站的访问,都是通过服务器的IP和端口号的组合来实现访问的,比如:127.0.0.1:8080,浏览器访问就是: `http://127.0.0.1:8080,https://127.0.0.1...这也就是意味着,当我们发布ASP.NET Core应用程序到生产环境的时候,这个文件是不需要的。...launchSettings.json配置说明: launchBrowser :一个布尔类型的开关,表示应用程序的时候是否自动启动浏览器 launchUrl:如果launchBrowser被设置为true...,浏览器采用的初始化路径通过该属性进行设置。...environmentVariables:该属性用来设置环境变量。ASP.NET Core应用中正是利用这样一个环境变量来表示当前的部署环境。

84620
  • ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用

    一、前言 1、本文主要内容 Visual Studio Code 开发环境配置 使用 ASP.NET Core 构建Web应用 ASP.NET Core Web 应用启动类说明 ASP.NET Core...项目的编译和调试配置文件就已经准备好了 3、VS Code启动项目 我们直接按下F5,或者菜单:调试->启动调试启动项目 ASP.NET Core 默认绑定是5001端口,而且ASP.NET Core...为例: 这时候,我们点击高级,救护出现继续访问的入口 我们点击继续访问,就会出现Hello World!...,会执行CreateWebHostBuilder方法,在这个方法中通过类Startup创建了默认了HostBuilder 应用启动类 public class Startup { ConfigureServices...Startup.cs文件 ASP.NET Core Web应用启动类文件,用于项目启动前进行相关配置 2、附录 本文代码示例 https://github.com/ken-io/asp.net-core-tutorial

    1.8K40

    .net 温故知新【15】:Asp.Net Core WebAPI 配置

    关于Asp.Net Core中的配置实际之前我已经整理过.net 中以json方式进行配置的介绍(.net 温故知新:【8】.NET 中的配置从xml转向json),当时我们说Asp.Net Core也是按照基础方法...所以我这里就着重介绍一下Asp.Net Core中配置的重点。 1、主机配置和应用程序配置 ASP.NET Core 应用配置和启动“主机”。 主机负责应用程序启动和生存期管理。...ASP.NET Core 模板创建的 WebApplicationBuilder 包含主机。 虽然可以在主机和应用程序配置提供程序中完成一些配置,但通常,只有主机必需的配置才应在主机配置中完成。...主机配置和应用程序配置是什么意思呢,可以粗略的理解为我们ASP.NET Core 项目启动的时候要用到的一些配置为主机配置,而程序运行阶段使用的配置为应用程序配置。...2、默认主机配置 从文档描述可以看到,默认主机配置是的优先级为: 命令行-> DOTNET_ 为前缀的环境变量->ASPNETCORE_ 为前缀的环境变量 并且部分变量是锁定在启动阶段,不受其他配置的影响

    70310

    5种设置ASP.NET Core应用程序URL的方法

    默认情况下,ASP.NET Core应用程序监听以下URL: •http://localhost:5000•https://localhost:5001 在这篇文章中,我展示了5种不同的方式来更改您的应用程序监听的...- 设置 applicationUrl 属性•KestrelServerOptions.Listen() - 使用 Listen() 手动使用配置Kestrel服务器的地址 我将在下面更详细地介绍每个选项...launchSettings.json 大多数 .NET项目模板在Properties文件夹中都包含launchSettings.json文件,这个文件包含了启动.NET Core应用程序的各种配置文件...总结 在这篇文章中,我展示了五种不同的方式来设置应用程序监听的URL。...UseUrls()是最简单的一种,但通常不适合在生产中使用, launchSettings.json文件是在开发环境中设置的URL是非常有用的。

    1.8K10

    Asp.NET Core 轻松学-项目目录和文件作用介绍

    前言     上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令、Asp.Net Core MVC 项目文件目录等信息...ASP.NET Core reactredux [C#] ASP.NET Core Web API webapi [C#],F# Razor 类库 razorclasslib [C#] global.json...Properties 目录 该目录用于存放程序集信息,运行配置文件、内部资源等文件,该目录在创建之初,会默认创建一个 launchSettings.json ,该文件包含了一些程序启动时的信息 { "...Asp.Net Core MVC 项目已成功运行于 5001/5000 端口下,在浏览器中打开该连接地址 https://localhost:5001 再图看看 launchSettings.json...中的信息,找到下面的信息,你就了解了这个文件的作用是配置项目运行端口等信息的 "applicationUrl": "https://localhost:5001;http://localhost:5000

    2.9K10

    ASP.NET Core 介绍和项目解读

    它整合了原来ASP.NET中的MVC和WebApi框架,你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.NET Core 应用。...launchSettings.json文件为一个ASP.NET Core应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等。...在launchSettings.json文件中进行配置修改,和开发者右键项目——属性中所提交的更改的效果是一样的(目前右键属性中的Property真是少得可怜),并且支持同步更新。...,这些中间件决定了我们的应用程序将如何响应每一个 HTTP 请求。...,类似于.NET Framework上的Web.Config文件,开发者可以将系统参数通过键值对的方式写在appsettings文件中(如程序的连接字符串),而Startup类中也在构造器中通过如下代码使得程序能够识别该文件

    2.7K60

    Blazor-Blazor WebAssmbly项目结构(上)

    #app 表示选择id为app的元素head::after 表示选择head标记底部launchSettings.json配置应用程序在开发环境中运行和调试使用的端口号及启动方式,在开发环境中使用;发布到生产环境中不需要此配置文件...我们从外层至内层来看看各个配置项的作用$schema指定json使用的标准iisSettings用于对 IIS 和 IIS Express 使用的端口号、windowsAuthentication 和...:设置应用程序使用 IIS Express 运行时访问 http 协议的 URL 地址和端口号4.sslPort:用于 SSL 安全访问的端口号profiles配置项目的启动方式,可配置 http、https...Project:启动 ASP.NET Core 内置的 Kestrel 服务器。...2.launchBrowser:设置在应用程序运行或调试时是否自动打开默认浏览器访问3.applicationUrl:配置访问应用程序的 URL 地址,多个 URL 地址使用分号隔开。

    8810

    【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

    IdentityServer4是实现了OAuth2.0+OpenId Connect两种协议的优秀第三方库,属于.net生态中的优秀成员。可以很容易集成至ASP.NET Core,颁发token。...用于签名的凭据(credentials) 用户可能会请求访问的Identity资源和API资源 会请求获取token的客户端 用户信息的存储机制,如ASP.NET Core Identity或者其他机制...测试,生产环境需要交钱,商业软件 ASP.NET Core Identity:结合ASP.NET Core Indentity Empty:空模板 Entity Frame Store:使用ef数据持久化身份认证信息...In-Memory Stores and Test Users:添加内存中的用户认证信息,和测试用户 Quickstart UI (UI assets only):UI 2.创建ASP.NET Core...scope,这里使用的是ASP.NET Core授权策略系统 “这里实质是验证jwt中的payload的scope ” RequireHttpsMetadata 用于测试目的;将此参数设置为 false

    2.3K30

    .NET Core微服务之基于IdentityServer建立授权与验证服务(续)

    为了方便快速启动,可以继续在launchSettings.json中删掉关于IISExpress的部分,由于是WebAPI,所以也不需要启动浏览器(将其设为false): { "profiles":...,ApiService02的配置类似,只是配置文件中的信息从clientservice改为了productservice。...AuthorizationServer和两个ApiService都一起启动,可以在解决方案属性的启动选项中进行设置。   ...  我们也可以通过在ValuesController中加上如下的一句,来获取Claims => 它是从已验证过的token中抽取的信息。...二、集成MVC Web Application 2.1 添加ASP.NET Core MVC项目   新建一个ASP.NET Core MVC项目,这里假设取名为MvcClient(占用端口5100)

    1.9K50

    使用ASP.NET Core MVC框架构建Web应用

    Core MVC 输出HelloWorld 1、引入 ASP.NET Core MVC 修改应用启动类(Startup.cs),引入MVC模块并配置默认路由 public class Startup...; } } } ActionName=Index 3、项目启动与访问测试 修改协议与端口 修改Ken.Tutorial.Web项目Properties文件夹中launchSettings.json...按下F5启动项目,项目启动成功后,VS Code会帮我们打开默认浏览器并访问:http://localhost:5001 image.png ASP.NET Core 入门教程 之所以显示HomeController...中Index(Action)的返回内容,是因为我们前面定义了默认路由可以从{controller}/{action}访问路径对应Action,而我们又定义了默认值: controller = "Home...-ken.io会被作为字符串渲染 3、启动项目测试 按下F5启动项目,项目启动成功后在浏览器中输入http://localhost:5001/home/time并访问,将会看到以下输出: image.png

    1.4K20

    ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用

    Core MVC 输出HelloWorld 1、引入 ASP.NET Core MVC 修改应用启动类(Startup.cs),引入MVC模块并配置默认路由 public class Startup...; } } } ActionName=Index 3、项目启动与访问测试 修改协议与端口 修改Ken.Tutorial.Web项目Properties文件夹中launchSettings.json...按下F5启动项目,项目启动成功后,VS Code会帮我们打开默认浏览器并访问:http://localhost:5001 ?...之所以显示HomeController中Index(Action)的返回内容,是因为我们前面定义了默认路由可以从{controller}/{action}访问路径对应Action,而我们又定义了默认值:...-ken.io会被作为字符串渲染 3、启动项目测试 按下F5启动项目,项目启动成功后在浏览器中输入http://localhost:5001/home/time并访问,将会看到以下输出: ?

    1.3K11

    生成数据库

    -2-web-api-starter-template-from-scratch 前三部分弄完,我们已经可以对内存数据进行CRUD的基本操作,并且可以在asp.net core 2中集成Nlog了。...由于用asp.net core 2.0开发的项目基本都是新项目,所以建议使用Code First。 创建 Entity Entity就是普通的C#类,就像Dto一样。...Dto是与外界打交道的Model,entity则不一样,有一些Dto的计算属性我们并不像保存在数据库中,所以entity中没有这些属性;而数据从entity传递到Dto后某些属性也会和数据库里面的形式不一样...在老版的asp.net web api 2.2里面有一个方法可以从某个Assembly加载所有继承于EntityTypeConfiguration的类,但是entity framework core并没有提供类似的方法...然后把系统环境变量中的连接字符串删了把,并且把项目属性Debug中改成Development,这时候需要重启VS,因为一般环境变量是在软件启动的时候附加到其内存的,软件没关的情况下如果把系统环境变量给删了

    1K20

    解锁环境变量在云原生应用中的各种姿势

    ASP.NET Core默认脚手架:环境变量配置在第4位置插入 ? “IConfiguration会拷贝环境变量键值对,后续同名配置会覆盖之前同名配置值,但是环境变量本身不会变化。...CORE,可在IIS[配置编辑器]新增、重写环境变量 ?...配置节加载环境变量文件 “① 文件中的环境变量并不会自动应用到容器,需要在Compose yml文件中以${}引用 ② docker-compose命令默认从命令执行的同一目录寻找.env文件 在Dockerfile...内置环境变量 ASP.NETCore3.1 Runtime镜像作为基础镜像的应用, 会发现应用使用Production配置在80端口提供服务。...docker-compose config version: '3' services: web: image: 'webapp:v2.0' Kubernetes 环境变量 你可以为运行在Pod中的容器设置环境变量

    1.7K30

    ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用

    (DI) ASP.NET Core 默认集成了DI。...Core MVC 输出HelloWorld 1、引入 ASP.NET Core MVC 修改应用启动类(Startup.cs),引入MVC模块并配置默认路由 public class Startup...; } } } ActionName=Index 3、项目启动与访问测试 修改协议与端口 修改Ken.Tutorial.Web项目Properties文件夹中launchSettings.json...按下F5启动项目,项目启动成功后,VS Code会帮我们打开默认浏览器并访问:http://localhost:5001 之所以显示HomeController中Index(Action)的返回内容...-ken.io会被作为字符串渲染 3、启动项目测试 按下F5启动项目,项目启动成功后在浏览器中输入http://localhost:5001/home/time并访问,将会看到以下输出: 六、备注

    1.5K20

    从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置

    前三部分弄完,我们已经可以对内存数据进行CRUD的基本操作,并且可以在asp.net core 2中集成Nlog了。...由于用asp.net core 2.0开发的项目基本都是新项目,所以建议使用Code First。 创建 Entity Entity就是普通的C#类,就像Dto一样。...Dto是与外界打交道的Model,entity则不一样,有一些Dto的计算属性我们并不像保存在数据库中,所以entity中没有这些属性;而数据从entity传递到Dto后某些属性也会和数据库里面的形式不一样...在老版的asp.net web api 2.2里面有一个方法可以从某个Assembly加载所有继承于EntityTypeConfiguration的类,但是entity framework core并没有提供类似的方法...然后把系统环境变量中的连接字符串删了把,并且把项目属性Debug中改成Development,这时候需要重启VS,因为一般环境变量是在软件启动的时候附加到其内存的,软件没关的情况下如果把系统环境变量给删了

    2.3K70
    领券