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

.Net 5,appsettings.json在Program.cs中不可用?

在.NET 5中,appsettings.json文件通常用于存储应用程序的配置信息。然而,在Program.cs文件中,默认情况下是无法直接访问appsettings.json文件的。这是因为在.NET 5中,配置系统的初始化是在Program.cs文件的CreateHostBuilder方法中进行的,而appsettings.json文件的加载是在配置系统初始化之后进行的。

要在Program.cs中使用appsettings.json文件中的配置信息,可以通过以下步骤实现:

  1. 在Program.cs文件中,使用ConfigurationBuilder加载appsettings.json文件,并将其配置添加到配置系统中。示例代码如下:
代码语言:txt
复制
var config = new ConfigurationBuilder()
    .SetBasePath(Directory.GetCurrentDirectory())
    .AddJsonFile("appsettings.json")
    .Build();
  1. 在CreateHostBuilder方法中,将加载的配置传递给WebHostBuilder的ConfigureAppConfiguration方法。示例代码如下:
代码语言:txt
复制
public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            config.AddConfiguration(configuration);
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });
  1. 在需要使用配置信息的地方,通过依赖注入的方式将配置注入到相应的类中。示例代码如下:
代码语言:txt
复制
public class MyClass
{
    private readonly IConfiguration _configuration;

    public MyClass(IConfiguration configuration)
    {
        _configuration = configuration;
    }

    public void MyMethod()
    {
        var value = _configuration["MyConfigKey"];
        // 使用配置信息进行操作
    }
}

需要注意的是,以上示例代码中的"MyConfigKey"是appsettings.json文件中的配置项的键名,根据实际情况进行替换。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但可以参考腾讯云的文档和官方网站,查找与.NET 5相关的云产品和解决方案。

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

相关·内容

.NET 5Docker访问MSSQL报错

不知道你有没有.NET Core/.NET 5的Docker访问MS SQL Server数据库,如果有,那么很有可能会遇到这个错误。...但是,将.NET 5应用部署到Docker通过Swagger测试时,却报了以下一个错误: Microsoft.Data.SqlClient.SqlException (0x80131904): A...搜索一番,发现在.NET Core/.NET 5的容器镜像的OpenSSL的最低协议版本要求为TLSv1.2,而我们的MS SQL Server所用的版本较低,不支持TLSv1.2只支持TLSv1。...这里以一个简单的Dockerfile为例,只需要在微软.NET 5镜像源的层增加一行指令即可: RUN sed -i 's/TLSv1.2/TLSv1/g' /etc/ssl/openssl.cnf...3 关于TLS协议 TLS是TCP传输层之上,应用层之下实现的网络安全方案。TCP/IP四层网络模型属于应用层协议。

2.4K10

ASP.NET 5使用SignalR

题记:SignalR作为ASP.NET中进行Web实时双向通信的组件,ASP.NET 5也得到了同步发展。不过,用法和之前还是细节上有所不同,而资料又相对稀少。本文就是一个简单的入门向导。...ASP.NET 5时代,SignalR也同步升级到SignalR 3.x,不过Javascript的客户端库还是2.x版本。...同时,用法和之前ASP.NET 4.x时代(比如在ASP.NET MVC 5)还是有点细微的区别,所以导致参考现有文档可能会遇到错误。...Hubs文件夹添加一个名为ChatHub的类,并继承Microsoft.AspNet.SignalR.Hub。 5,理论上,如果你只打算从服务端往客户端推送消息的话,Hub类里面可以不写任何东西。...接着”Configure“添加1行代码app.UseSignalR(); 7,视图文件实现加入、发送消息、显示消息的界面,代码基本参考了(http://www.asp.net/signalr/overview

3.3K100
  • 指定 ASP.NET Core 应用监听的端口

    只需要在运行命令添加这个参数即可, 如下所示: dotnet run --urls=http://localhost:5001/ appsettings.json 添加配置 如果倾向于使用配置文件..., 可以 appsettings.json 文件添加 urls 节点, 如下所示: { "urls": "http://localhost:5001" } 这样, 执行 dotnet run 时...使用 UseUrls() 函数 如果倾向于使用代码, 则可以 Program.cs 文件的 ConfigureWebHostDefaults 方法中使用 UseUrls() 函数, 代码中指定要监听的端口...使用 Kestrel 服务器选项 ASP.NET Core 内置的 kestrel 服务器, 也提供了许多选项, 当然也包括了要监听的端口, 要在应用中使用 Kestrel 服务器选项, 需要在 Program.cs...然后 appsettings.json 添加 kestrel 节点, 内容如下所示: { "kestrel": { "endPoints": { "http": {

    2.1K40

    Day 03:Blazor Server和Blazor WebAssembly的差异

    创建解决 Blazor 两种模板应用 创建Blazor Server应用 配置Blazor Server应用 选择.NET 6 运行 运行+F12 F5重新加载网页 SignalR连接...先看5号,可以看到Blazor Server和Blazor WebAssembly有Program.cs,两者的程序进入点都是Program.cs。... .NET 6预览版或者之前的版本,是多了Startup.cs文件,ConfigureServices方法「配置服务」(若有相关Service需要使用,就需要在这里使用依赖(DI, Dependency...,两者的作用是一样的,.NET 6看起来是不是清爽很多? 通过var app = builder.Build();得到的app实例,和原来Startup.cs的Configure方法作用也是类似的。...,如果写在程序里面,每次一改都要将程序重新编译,放在appsettings.json灵活性就比较大。

    3.1K30

    ASP.NET Core 网站运行时修改设置如何自动生效

    ASP.NET Core,如果修改了appsettings.json的设置,那么默认情况下就得重启网站才能生效。有没有办法修改设置后自动刷新并应用呢?...不显示指定的情况下,Program.cs 的CreateWebHostBuilder() 方法会读取这两个设置文件。为了便于维护,大家通常会创建一个对应的class,用来强类型匹配设置项。...但个缺点就是在网站运行时,如果修改了 appsettings.json 的配置项,是不会当场生效的,必须重启网站才能应用。...网上搜索到的方法通常让你这样做:修改Program.csCreateWebHostBuilder() 方法里加入这么一段: ......我猜想,这个reloadOnChange,最新版本的ASP.NET Core(2.2)可能是默认启用的。关于这一点,我竟然没有找到官方的资料,不能确定这个参数的具体作用。

    2.8K20

    .NET 5 修改配置不重启自动生效

    .NET Core,.NET 5 默认配置都是只加载一次,修改配置时都需要重启才能生效,如何能修改即时生效呢,下面来演示一遍。...一、设置配置文件实时生效 1.1 配置 Program.cs的CreateHostBuilder()处增加加载配置文件的时候,reloadOnChange:true。...webBuilder => { webBuilder.UseStartup(); }); 1.2验证 appsettings.json...的最大区别是前者可以被其他的Singleton Services使用而后者不可以, 因为前者被注册为Singleton 而后者是被注册为Scoped,也就是说文件被修改了前者会立即Reload,而后者是每个请求才被...1.4 多个配置文件加载实时生效 增加多一个db配置文件 修改Program.cs处CreateHostBuilder(),也是加载时加上reloadOnChange:true 就可以了。

    93720

    ASP.NET CORE Study01

    ,models 模型类,views 下是视图一般是cshtml 文件,program.cs 是整个asp.net core web应用程序的启动类,是整个程序的起点入口,startup.cs 是配置asp.net...core项目的各种服务的配置类,appsettings.json 项目的配置信息。...asp.net core 项目下的launchsettings.json 和appsettings.json 一般而言,launchsettings.json 是整个项目的项目启动配置文件,在这里配置是整个项目启动时需要进行的各种配置...,如程序运行环境的指定,同时launchsettings 文件仅使用于本地开发环境,我们不需要把它发布到生产环境。...而在项目发布到生产环境时需要使用某些独立的配置,就需要使用appsettings 配置文件,该文件中将存放应用程序运行的配置信息,比如数据库连接字符串等。

    15610

    快速入门:构建您的第一个 .NET Aspire 应用程序

    NET Aspire 旨在简化这些类型服务之间的连接和配置。本快速入门,您将了解如何创建 .NET Aspire Starter 应用程序模板解决方案。...附加信息屏幕上: 确保选择.NET 8.0(长期支持) 。 确保选中“使用 Redis 进行缓存(需要 Docker)”并选择“创建”。....NET Aspire 服务默认项目 *.ServiceDefaults项目是一个共享项目,用于管理解决方案的项目中重复使用的配置。... Visual Studio ,通过右键单击“解决方案资源管理器”的项目并选择“设置为启动项目”,将AspireSample.AppHost项目设置为启动项目。然后,按运行该应用程序。...F5 浏览器从主页导航到天气页面。该页面应加载天气数据,并记下预报表中表示的一些值。 继续偶尔刷新页面 10 秒钟。10秒内返回缓存数据。

    2.1K180

    .NET Core 中使用Quartz.NET

    ASP.NET Core通过托管服务对运行“后台任务”具有良好的支持,托管服务ASP.NET Core应用程序启动时启动,并在应用程序生存期内在后台运行,Quartz.NET版本3.2.0通过Quartz.Extensions.Hosting...虽然.NET Core可以创建“定时”后台服务(例如,每10分钟运行一次任务),但Quartz.NET提供了更为强大的解决方案, 通过使用Cron表达式,您可以确保任务特定时间(例如,凌晨2:30)运行...添加Quartz.NET hosted service 修改Program.cs,注册服务 public class Program { public static void Main(string...WaitForJobsToComplete():当程序关闭时,此设置可确保Quartz.NET退出之前等待Job正常结束。...将配置提取到appsettings.json 一般情况,我们都不会把cron表达式写死代码,一般是设置appsettings.json { "Quartz": { "HelloWorldJob

    1.3K10

    【初学者指南】ASP.NET MVC 5创建GridView

    介绍 在这篇文章,我们将会学习如何在 ASP.NET MVC 创建一个 gridview,就像 ASP.NET Web 表单的 gridview 一样。...现在,创建一个新的 ASP.NET MVC 5 Web 应用程序。打开 Visual Studio 2015,点击文件>>新建>>项目。 ?...从对话框跳转到 Web,选择 ASP.NET Web 应用程序项目,然后单击确定。 ? 模板中选择 MVC,如果编写了应用的单元测试,请先做检查,并点击 OK。 我们的工程都是用基本的功能创建的。...配置文件,你会发现下面配置节点中的连接字符串,你需要在节点中根据你的系统来修改连接字符串。...通过本文的介绍,希望大家能够掌握 ASP.NET MVC 5 创建 GridView 的方法。

    6.2K90

    .NET平台系列26: Windows 上安装 .NET Core.NET5.NET6

    这些版本 .NET 版本达到支持终止日期或 Windows 版本达到生命周期之前仍受支持。 Windows 10 版本终止服务日期按版本分段。...不支持的版本 以下 .NET 版本 ❌ 不再受到支持: 3.0 2.2 2.0 所以,如果新建.NET Core 项目,建议直接使用.NET5 或者 .NET Core 3.1版本。...可以 Windows 上安装三个不同的运行时: ASP.NET Core 运行时 运行 ASP.NET Core 应用。 包括 .NET 运行时。...“Web 和云”部分的“ASP.NET 和 Web 开发”工作负荷 。 “Web 和云”部分的“Azure 开发”工作负载 。 “桌面和移动”部分的“NET 桌面开发”工作负载 。 ?...删除环境设置,让 .NET 选择用于运行应用程序的最佳框架时考虑默认的全局安装位置。 默认值通常为 C:\Program Files\dotnet,这是安装 .NET 的安装程序所在的位置。

    3.2K10

    ASP.NET Core 6 浅析环境变量与配置的优先级

    本文将简单介绍 dotnet 6 下的 ASP.NET Core 里的环境变量当成配置的优先级行为。...这部分内容官方文档都有提到,只是我开始粗心没有看仔细,而踩到了坑,特意写篇博客记录一下 ASP.NET Core 环境变量和 appsettings.json 文件的优先级从高到低如下: 不带 ASPNETCORE..._ 前缀的环境变量 appsettings.json 带 ASPNETCORE_ 前缀的环境变量 本文将使用日志配置作为例子来告诉大家 ASP.NET Core 的行为 默认的项目配置里面,存放在 appsettings.json...而创建了其他前缀的 CategoryName 的 ILogger 日志,将可以采用 "Default": "Information" 配置,让大于等于 Information 等级的日志进行输出 如在 Program.cs...iisExpress": { "applicationUrl": "http://localhost:54586", "sslPort": 0 } } } 修改 Program.cs

    23510
    领券