2

在这个线程中,我能够使用 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) 上收到错误:

“发现客户端类型未知,检查配置”

有解决办法吗?我们想在 Spring Cloud Config 服务器上尝试使用控制台应用程序。如果 Steeltoe 没有办法做到这一点,请随时通知其他有这样做的图书馆。

4

1 回答 1

2

扩展方法AddDiscoveryClientUseDiscoveryClient用于 Steeltoe 服务发现。您看到的错误消息是由于 Steeltoe 不知道您的应用程序应该是哪种类型的服务注册表(即:“客户端类型未知”)。

您只希望访问 Spring Cloud Config 服务器,因此您不需要任何一种方法。您可以使用 ConfigServerConfigurationProvider 将 ConfigServerConfigurationProvider 添加到您的配置构建器.AddConfigServer

于 2019-07-26T14:36:00.660 回答