Docker Ocelot找不到重路由文件
我正试图构建自己的微服务体系结构,但我仍停留在API.Gateway部分。 我正在尝试使Ocelot V14在.sln文件中查找所有配置Ocelot.json或配置.json文件 在Program.cs文件中,我试图将配置文件与此链接中的以下代码合并 问题是它是空的,并且重路由不起作用。当我将所需的重路由粘贴到这个ocelot.json文件中时,重路由工作正常,这不是我想要的功能 我想要的是从不同的.json文件自动合并配置文件 任何帮助都将不胜感激 eShopContainers如何通过Ocelot V12实现此功能Docker Ocelot找不到重路由文件,docker,microservices,ocelot,Docker,Microservices,Ocelot,我正试图构建自己的微服务体系结构,但我仍停留在API.Gateway部分。 我正在尝试使Ocelot V14在.sln文件中查找所有配置Ocelot.json或配置.json文件 在Program.cs文件中,我试图将配置文件与此链接中的以下代码合并 问题是它是空的,并且重路由不起作用。当我将所需的重路由粘贴到这个ocelot.json文件中时,重路由工作正常,这不是我想要的功能 我想要的是从不同的.json文件自动合并配置文件 任何帮助都将不胜感激 eShopContainers如何通过Oc
IWebHostBuilder builder = WebHost.CreateDefaultBuilder(args);
builder.ConfigureServices(s => s.AddSingleton(builder))
.ConfigureAppConfiguration(ic => ic.AddJsonFile(Path.Combine("configuration", "configuration.json")))
.UseStartup<Startup>();
IWebHostBuilder=WebHost.CreateDefaultBuilder(args);
builder.ConfigureServices(s=>s.AddSingleton(builder))
.ConfigureAppConfiguration(ic=>ic.AddJsonFile(Path.Combine(“configuration”,“configuration.json”))
.UseStartup();
如果您需要更多的代码、文件结构或其他任何东西,只需评论和询问。不确定这是否是您要寻找的?这是Ocelot将多个路由文件合并在一起的方式 我们不使用这一点,但这是我们如何定义我们的启动:
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddJsonFile(this.env.IsDevelopment() ? "ocelot.json" : "ocelot.octopus.json")
.AddEnvironmentVariables();
因此,我们有标准的appSettings和Ocelot,Octopus将在Ocelot实例部署到测试/生产环境(或仅测试/本地环境)时转换我们想要的各种变量
这似乎是定义如何处理多个文件的位:
在这种情况下,Ocelot将查找与该模式匹配的任何文件
(?i)ocelot.([a-zA-Z0-9]*).json,然后将它们合并在一起。如果你
要设置GlobalConfiguration属性,必须有一个文件
名为ocelot.global.json
不确定是否需要显式定义每个文件(除非它们可以通过{env.EnvironmentName}之类的变量定义),但这应该很容易测试
对不起,如果我把棍子的一端弄错了,希望这能有所帮助
IWebHostBuilder builder = WebHost.CreateDefaultBuilder(args);
builder.ConfigureServices(s => s.AddSingleton(builder))
.ConfigureAppConfiguration(ic => ic.AddJsonFile(Path.Combine("configuration", "configuration.json")))
.UseStartup<Startup>();
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddJsonFile(this.env.IsDevelopment() ? "ocelot.json" : "ocelot.octopus.json")
.AddEnvironmentVariables();