小编Den*_*nis的帖子

.Net 控制台应用程序中的用户机密问题

我创建了一个 .Net 6 控制台应用程序。我添加了用户密码,但我只获取 appsettings.json 文件中定义的值。我使用 Visual Studio Professional 2022 版本 17.0.4。

初始步骤

  1. 从 Visual Studio 2022 的项目模板创建新的 .Net 6 控制台应用程序。
  2. 安装 Microsoft.Extensions.Hosting nuget 包(版本 6.0.0)。
  3. 安装 Microsoft.Extensions.Configuration.UserSecrets nuget 包(版本 6.0.0)。
  4. 添加 appsettings.json 文件并将“复制到输出目录”设置为“始终复制”。
  5. 右键单击该项目并选择管理用户机密。

代码

程序.cs

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

var host = Host.CreateDefaultBuilder()
                .ConfigureServices((context, services) => 
                {
                    services.Configure<GlobalSettings>(context.Configuration.GetSection("GlobalSettings"));
                    services.AddTransient<Worker>();
                })
                .Build();

var work = host.Services.GetRequiredService<Worker>();
await work.ExecuteAsync();
Run Code Online (Sandbox Code Playgroud)

工人.cs

using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;

public class Worker
{
    private readonly ILogger<Worker> _logger;
    private readonly GlobalSettings _globalSettings;

    public Worker(ILogger<Worker> logger, IOptions<GlobalSettings> …
Run Code Online (Sandbox Code Playgroud)

.net c# configuration dependency-injection .net-6.0

6
推荐指数
1
解决办法
3711
查看次数

标签 统计

.net ×1

.net-6.0 ×1

c# ×1

configuration ×1

dependency-injection ×1