使用ASP.NET core 6.0的心得

1、ASP.NET core 6.0中读取json文件

在 ASP.NET Core 6.0 中,读取 JSON 文件通常涉及到以下几个步骤:

1: 添加 JSON 文件

首先,你需要在项目中创建一个 JSON 文件。假设我们有一个 appsettings.json 文件,它的内容如下:

{
  "ApplicationSettings": {
    "Title": "My Application",
    "Version": "1.0.0",
    "FeatureFlags": {
      "FeatureA": true,
      "FeatureB": false
    }
  }
}

确保这个文件设置为“Copy to Output Directory”,以便它被复制到应用程序的输出目录中,从而可以在运行时访问。

2: 创建数据映射类

接下来,你需要创建一个 C# 类来映射 JSON 文件中的数据结构:

public class ApplicationSettings
{
    public string Title { get; set; }
    public string Version { get; set; }
    public FeatureFlags FeatureFlags { get; set; }
}

public class FeatureFlags
{
    public bool FeatureA { get; set; }
    public bool FeatureB { get; set; }
}

3: 配置应用程序

ASP.NET Core 自动加载项目根目录下的 appsettings.json 文件,并将其内容添加到配置系统中。如果你需要读取另一个 JSON 文件,则可以在 Program.cs 文件中使用 ConfigurationBuilder 来添加它:

var builder = WebApplication.CreateBuilder(args);
// 通过自定义的 JSON 文件构建配置
builder.Configuration.AddJsonFile("path_to_your_custom_json.json", optional: true, reloadOnChange: true);
var app = builder.Build();

对于 appsettings.json,这一步是不必要的,因为它默认就会被加载。

4: 绑定 JSON 数据到类实例

Program.cs 或你需要使用配置的地方,你可以使用 IConfiguration 来读取和绑定设置:

var appSettings = new ApplicationSettings();
builder.Configuration.GetSection("ApplicationSettings").Bind(appSettings);
// 使用配置
Console.WriteLine(appSettings.Title);
Console.WriteLine(appSettings.FeatureFlags.FeatureA);

或者,你可以使用依赖注入系统来注册和使用配置:

builder.Services.Configure<ApplicationSettings>(builder.Configuration.GetSection("ApplicationSettings"));
var app = builder.Build();
// 稍后,当你需要使用 ApplicationSettings 的实例时
using (var scope = app.Services.CreateScope())
{
    var services = scope.ServiceProvider;
    var mySettings = services.GetRequiredService<IOptions<ApplicationSettings>>().Value;
    // 使用配置
    Console.WriteLine(mySettings.Title);
    Console.WriteLine(mySettings.FeatureFlags.FeatureA);
}

Configure 方法中,我们告诉 DI 容器如何从配置中读取 ApplicationSettings 部分并将其映射到 ApplicationSettings 类的实例。然后我们可以在需要的地方通过构造函数注入 IOptions<ApplicationSettings> 来访问这些设置。

2、发布时的注意事项

发布后如果打不开网页,首先查看IIS中需要发布项目的模块是否能打开,如果打不开报错(见下图)
点击模块报错
或者打开后发现模块中没有“aspnetcoremoduleV2”模块,请去微软官方下载 .NET 6.0,依次下载Hosting Bundle(见下图)
Hosting Bundle下载
Hosting Bundle下载页
,根据自己电脑选择下载X64或X86一种,
X64或X86下载
X64下载页
下载完成后依次安装,安装完成后,点击模块,此时可以在模块页中看到“aspnetcoremoduleV2”,此时重启项目,再次打开网页即可。

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值