C# 如何从承载ASP.NET核心应用程序的WIndows服务将参数传递给该应用程序

C# 如何从承载ASP.NET核心应用程序的WIndows服务将参数传递给该应用程序,c#,windows-services,asp.net-core-webapi,asp.net-core-2.1,C#,Windows Services,Asp.net Core Webapi,Asp.net Core 2.1,根据本指南,我创建了一个托管在Windows服务中的ASP.NETCore2.1应用程序 启动windows服务时,我会以编程方式将IP端口作为参数传递,因为我想将使用的applicationUrl更改为launchsettings.json 下面我报告了启动服务的代码 ServiceController controller = ...; // Do something args = new string[]{8080}; controller.Start(args); 在我的ASP.Net

根据本指南,我创建了一个托管在Windows服务中的ASP.NETCore2.1应用程序

启动windows服务时,我会以编程方式将IP端口作为参数传递,因为我想将使用的applicationUrl更改为launchsettings.json

下面我报告了启动服务的代码

ServiceController controller = ...;
// Do something
args = new string[]{8080};
controller.Start(args);
在我的ASP.Net核心项目中,我有一个CustomWebHostService类,在该类中,我获得onStart()方法中的上一个参数

我该怎么办

谢谢

public class CustomWebHostService : WebHostService
{
    ////private Microsoft.Extensions.Logging.ILogger _logger;

    /// <summary>
    /// The <see cref="Logger"/> object
    /// </summary>
    private static Logger _logger;

    public CustomWebHostService(IWebHost host) : base(host)
    {
        ////_logger = host.Services.GetRequiredService<ILogger<CustomWebHostService>>();

        _logger = LogManager.GetCurrentClassLogger();
    }

    protected override void OnStarting(string[] args)
    {
        ////_logger.LogDebug("OnStarting method called.");
        _logger.Info("OnStarting method called.");

        // TODO Change launchsettings with the IP Port


        base.OnStarting(args);
    }

    protected override void OnStarted()
    {
        ////_logger.LogDebug("OnStarted method called.");
        _logger.Info("OnStarted method called.");

        base.OnStarted();
    }

    protected override void OnStopping()
    {
        ////_logger.LogDebug("OnStopping method called.");
        _logger.Info("OnStopping method called.");

        base.OnStopping();
    }
}
builder.UseUrls(String.Format("http://*:{0};http://localhost:{0}", myPort));