3

有没有办法将 Ocelot 与多个配置文件和环境一起使用ocelot.service1.Development.json

不幸的是,文档似乎已经过时,也没有处理我的具体要求。我看到它能够有多个文件将被合并文档

ocelot.service1.json
ocelot.service2.json

//Program.cs
return WebHost.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((host, config) => {
        config
            .AddOcelot(host.HostingEnvironment)
            .AddEnvironmentVariables();
    })
    .UseStartup<Startup>();
}

它有效,但不符合我的要求。

该文档还描述了以下设置文档

ocelot.Development.json
ocelot.Staging.json

//Program.cs
return WebHost.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((host, config) => {
        config
            .AddJsonFile("ocelot.{host.HostingEnvironment.EnvironmentName}.json", true, true)
            .AddEnvironmentVariables();
    })
    .UseStartup<Startup>();
}

但是这个解决方案也不符合我的要求。

有什么办法可以将两种方式结合起来吗?

4

1 回答 1

0

我想出了一个解决方案:

我编辑了扩展方法.AddOcelot(folder, env)。我添加了一个新参数appNames,它是文件中要读取appName.ocelot.Dev.json以查找文件的名称数组。

截图:

  1. 程序.cs
  2. 文件结构
  3. 修改后的扩展
于 2021-10-03T22:28:48.590 回答