ASP.NET Core 6部署为Windows Service时的端点配置问题求助
ASP.NET Core 6部署Windows Service时修改端点失败的问题
我在将ASP.NET Core 6部署为Windows Service时遇到了问题。当前的示例程序可以正常运行,但尝试修改端点,或通过配置文件配置Kestrel服务器更改端点后,就无法部署为Windows Service。有没有人遇到过类似的问题?
我的目标是将程序部署为Windows Service并使用证书进行认证。
可正常运行的主程序代码
var options = new WebApplicationOptions { Args = args, ContentRootPath = WindowsServiceHelpers.IsWindowsService() ? AppContext.BaseDirectory : default }; var builder = WebApplication.CreateBuilder(options); builder.Services.AddRazorPages(); builder.Services.AddHostedService<Services.Worker>(); builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Host.UseWindowsService(); var app = builder.Build(); app.UseRouting(); app.MapControllers(); app.Run();
Worker服务代码
public class Worker : BackgroundService { public Worker(ILoggerFactory loggerFactory) { Logger = loggerFactory.CreateLogger<Worker>(); } public ILogger Logger { get; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { Logger.LogInformation("Worker is starting."); stoppingToken.Register(() => Logger.LogInformation("Worker is stopping.")); while (!stoppingToken.IsCancellationRequested) { Logger.LogInformation("Worker is doing background work."); await Task.Delay(TimeSpan.FromSeconds(10), stoppingToken); } Logger.LogInformation("Worker has stopped."); } }
导致部署失败的端点修改代码
添加以下代码后无法部署为Windows Service:
app.Urls.Add("http://localhost:5020"); app.Urls.Add("https://localhost:5021");
内容的提问来源于stack exchange,提问作者Vishwanath Heddoori
相关产品推荐
相关产品推荐

