【问题标题】:Ocelot with multiple Configuration files and Environments具有多个配置文件和环境的 Ocelot
【发布时间】:2020-05-01 02:35:40
【问题描述】:

有什么方法可以将 Ocelot 与多个配置文件和环境一起使用,例如 ocelot.service1.Development.json

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

ocelot.service1.json
ocelot.service2.json

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

它可以工作,但不符合我的要求。

文档还描述了以下设置Documentation

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>();
}

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

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

【问题讨论】:

  • 是的,有可能,但是您的要求是什么?告诉我们你有什么文件
  • 我想我找到了另一个适合我需要的解决方案。我从项目中排除了配置文件并将其直接放在服务器上。由于大量的 ReRoute,我想将它们分成几个文件。每个文件都应该是特定于环境的。

标签: .net-core ocelot


【解决方案1】:

我想出了一个解决方案:

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

截图:

  1. program.cs
  2. File structure
  3. Modified Extension

【讨论】:

  • 您可以编辑您的帖子以将代码粘贴为 text 吗?然后,您可以将其格式化为代码。这将使人们更容易阅读和参考。我们希望避免 Stack Overflow 上的代码截图。提前谢谢你。
猜你喜欢
  • 2020-12-04
  • 2018-10-25
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 2011-03-30
相关资源
最近更新 更多