首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密钥管理器跨库

密钥管理器跨库
EN

Stack Overflow用户
提问于 2016-12-12 08:10:28
回答 1查看 95关注 0票数 1

我正在使用带有秘密管理器的.Net核心控制台应用程序。问题是,我需要将ConfigurationRoot (例如connectionString)中包含的一些数据传递给一个库。我所做的是在库上创建一个带有静态字段的类,并在我的控制台应用程序上填充它:

库:

代码语言:javascript
复制
public class MyLibrary
{
    public static IConfigurationRoot Config;
}

控制台应用:

代码语言:javascript
复制
        var builder = new ConfigurationBuilder()
            .SetBasePath(PlatformServices.Default.Application.ApplicationBasePath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddUserSecrets()
            .AddEnvironmentVariables();

        MyLibrary.Config = Configuration;

这种方法是正确的,还是有一种最简单的方法?

EN

回答 1

Stack Overflow用户

发布于 2016-12-13 05:05:59

您正在采取适当的方法在应用程序启动时加载appSettings.json。

也许你可以像这样做构造函数注入:

代码语言:javascript
复制
public class MyLibrary
{
    private IConfigurationRoot _config;

    public MyLibrary(IConfigurationRoot config)
    {
        _config = config;
    }
}

在Main()中...

代码语言:javascript
复制
var builder = new ConfigurationBuilder()
            .SetBasePath(PlatformServices.Default.Application.ApplicationBasePath)
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .AddUserSecrets()
            .AddEnvironmentVariables();
var config = builder.Build();

MyLibrary lib = new MyLibrary(config);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41092593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档