我正在遵循本指南:https ://docs.microsoft.com/en-us/dotnet/core/extensions/configuration ,但我不明白如何讓我的應用程式作為異步 Main 方法作業。
using IHost host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, configuration) =>
{
configuration.Sources.Clear();
ILogger logger = NullLogger.Instance;
IHostEnvironment env = hostingContext.HostingEnvironment;
configuration
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true);
IConfigurationRoot configurationRoot = configuration.Build();
ApiConfig options = new();
configurationRoot.GetSection(nameof(ApiConfig)).Bind(options);
var serviceCollection = new ServiceCollection();
serviceCollection.AddHttpClient();
serviceCollection.AddMemoryCache();
serviceCollection.AddSingleton<IMyClient, MyClient>();
IServiceProvider provider = serviceCollection.BuildServiceProvider();
IHttpClientFactory clientFactory = provider.GetRequiredService<IHttpClientFactory>();
})
.Build();
// Application code should start here.
Result result = await myClient. Get(ApiConfig);
// If i put it here, the client is not available since its inside the //ConfigureAppConfiguration.
如果我將客戶端放在 ConfigureAppConfiguration 中,則會失敗說:await 運算子只能在異步 labmda 運算式中使用。如何使我的控制臺應用程式異步?
現在我想實體化 MyClient,并使用它來進行查詢,但是,因為它需要等待結果,所以我失敗了。我不明白如何使應用程式異步。我應該如何解決這個問題?
uj5u.com熱心網友回復:
所以我發現了問題,我將 .net 6 代碼示例復制到 net5.0 現有應用程式中。在我重新創建了針對 .net 6 的所有內容后,一切都按預期作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/467551.html
上一篇:如何從ReactNative中的dotnetcore獲取資料?
下一篇:如何在JPA中撰寫多個聯接?
