在 .NET Core 控制台应用程序上使用 Steeltoe Discovery 客户端(Spring 云配置)
Using Steeltoe Discovery Client on .NET Core console application (Spring Cloud Config)
在这个 中,我能够使用 ASP.NET CORE 的配置系统设置我的简单控制台应用程序。
代码很简单:
static void Main(string[] args)
{
string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: false)
.AddEnvironmentVariables();
config = configuration.Build();
var serviceProvider = new ServiceCollection()
.AddSingleton<IConfiguration>(config)
.AddDiscoveryClient(config)
.BuildServiceProvider();
Console.WriteLine(config["Test"]);
Console.Read();
}
但是,由于应用程序不使用 IApplicationBuilder,我无法调用 .UseDiscoveryClient() 方法。我最终在 .AddDiscoveryClient(config):
上收到错误
"Discovery client type UNKNOWN, check configuration"
有解决办法吗?我们想在我们的 Spring Cloud Config 服务器上使用控制台应用程序进行试验。如果没有办法用 Steeltoe 做到这一点,请随时通知其他图书馆。
扩展方法 AddDiscoveryClient
和 UseDiscoveryClient
用于 Steeltoe 服务发现。您看到的错误消息是由于 Steeltoe 不知道您的应用程序应该是哪种类型的服务注册表的客户端(即:"client type UNKNOWN")。
您只想访问 Spring Cloud Config 服务器,因此您不需要这些方法中的任何一种。您可以将 ConfigServerConfigurationProvider 添加到您的配置生成器 with .AddConfigServer
。
在这个
代码很简单:
static void Main(string[] args)
{
string environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{environment}.json", optional: false)
.AddEnvironmentVariables();
config = configuration.Build();
var serviceProvider = new ServiceCollection()
.AddSingleton<IConfiguration>(config)
.AddDiscoveryClient(config)
.BuildServiceProvider();
Console.WriteLine(config["Test"]);
Console.Read();
}
但是,由于应用程序不使用 IApplicationBuilder,我无法调用 .UseDiscoveryClient() 方法。我最终在 .AddDiscoveryClient(config):
上收到错误"Discovery client type UNKNOWN, check configuration"
有解决办法吗?我们想在我们的 Spring Cloud Config 服务器上使用控制台应用程序进行试验。如果没有办法用 Steeltoe 做到这一点,请随时通知其他图书馆。
扩展方法 AddDiscoveryClient
和 UseDiscoveryClient
用于 Steeltoe 服务发现。您看到的错误消息是由于 Steeltoe 不知道您的应用程序应该是哪种类型的服务注册表的客户端(即:"client type UNKNOWN")。
您只想访问 Spring Cloud Config 服务器,因此您不需要这些方法中的任何一种。您可以将 ConfigServerConfigurationProvider 添加到您的配置生成器 with .AddConfigServer
。