相关疑难解决方法(0)

从位于内存中的JSON加载启动配置

我正在研究如何在.Net Core中加载启动配置.我注意到有不同的方法可以做到这一点,我已经看到了XML,JSON,init文件,以及位于内存中的Dictionary(稍后我会回到这里).我正在使用类似下面的代码:

new ConfigurationBuilder().AddJsonFile("file.json").Build();
Run Code Online (Sandbox Code Playgroud)

所有这些都没关系,但是,有没有办法从JSON字符串加载该配置?我的意思是,我不想将json存储在临时文件中,因为它是一个实时构建的文件,它没有任何意义.

关于位于记忆中的字典.它很容易手动构建,但是,复杂和过于分层的JSON结构呢?据我所知,字典是

字典<string,string>

其关键是树的父母连接":"同时管理重复的节点,枚举它们等.痛苦从头开始构建这个算法.

.net configuration json build core

12
推荐指数
4
解决办法
2959
查看次数

在 FunctionsStartup 中使用 ConfigurationBuilder

我有一个 Azure 函数,我正在使用 DI 系统来注册一些类型;例如:

public class Startup : FunctionsStartup
{
    public override void Configure(IFunctionsHostBuilder builder)
    {
        builder.Services
            .AddTransient<IMyInterface, MyClass>()
    . . . etc
Run Code Online (Sandbox Code Playgroud)

但是,我还要从我的环境设置中注册一些数据。在函数本身内部,我可以获得ExecutionContext, 所以我可以这样做:

IConfiguration config = new ConfigurationBuilder()
   .SetBasePath(context.FunctionAppDirectory)
   .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
   .AddEnvironmentVariables()
   .Build();
Run Code Online (Sandbox Code Playgroud)

但是,在 FunctionsStartup 中,我无权访问ExecutionContext. 有没有一种方法可以从 FunctionsStartup 类中获取 ExecutionContext ,或者另一种确定当前运行目录的方法,以便我可以设置基本路径?

azure azure-functions

7
推荐指数
2
解决办法
5041
查看次数

标签 统计

.net ×1

azure ×1

azure-functions ×1

build ×1

configuration ×1

core ×1

json ×1