[英]Get .NET Core Worker Service CommandLineConfigurationProvider Arguments
我創建了一個 .NET Core Worker Service 應用程序,需要將命令行 arguments 傳遞到應用程序中。 通過 IConfiguration 配置 > 提供程序 > CommandLineConfigurationProvider 進行調試時,我可以看到 arguments,但不知道如何對其進行編碼以獲得 arguments。
任何幫助表示贊賞。
您可以使用: https://docs.microsoft.com/en-us/dotnet/api/system.environment.getcommandlineargs?view=netcore-3.1
獲取命令行 arguments。
環境是 static,因此您可以從任何地方訪問它。
Environment.GetCommandLineArgs
如果您有一個提供IConfiguration
的 object config
,您只需使用config.GetValue<string>("myvaluename"
)。
例如:
public static IHostBuilder CreateHostBuilder(string[] args)
{
return new HostBuilder()
.ConfigureAppConfiguration((context, cfg) =>
{
cfg.AddCommandLine(args);
});
}
要獲取配置:
static void Main(string[] args)
{
using var host = CreateHostBuilder(args).Build();
var config = host.Services.GetRequiredService<IConfiguration>();
var myvalue = config.GetValue<string>("myvalue");
// .... myvalue may be null if not specified
}
最后,你像這樣調用你的程序:
myprogram.exe --myvalue abcd
CommandLineConfigurationProvider
非常基礎,因此它不支持復雜的模式,例如二元選項(存在/不存在)等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.