Search code examples
startup.net-core-3.1

IHostBuilder not working while IWebHostBuilder in Linux in aspnet core 3.1 web api application


I have .net core web api project. I am running my application in both Windows and Linux

Problem is My application get starts and works in both linux and windows with IWebHostBuilder while equivalent(what i think so) code for using IHostBuilder didn't start my application in linux.

Please somebody give idea what wrong i am doing

Following currently works

 public static IWebHostBuilder BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args).
            ConfigureKestrel(serverOptions =>
            {
            }).UseIISIntegration()
            .UseStartup<StartupShutdownHandler>();

Following doesn't works in linux

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel(serveroptions => { }).UseIISIntegration().UseStartup<StartupShutdownHandler>();
                });

Solution

  • Problem was in my linux service file about the --service.urls argument. I were using --service.urls argument while recommended way is to use --urls. Details are mentioned at https://github.com/dotnet/aspnetcore/issues/20566