I'm creating an ASP.net Core 2.0 app to run on the .net Core 2.0 runtime, both currently in their Preview versions. However, I cannot figure out how to have Kestrel use something other than the default http://localhost:5000
listen URL.
Most documentation that I could Google talks about a server.urls
setting, which seems to have been changed even in 1.0-preview to just be urls
, however neither works (turning on Debug logging has Kestrel telling me that no listen endpoints are configured).
A lot of documentation also talks about a hosting.json
and that I can't use the default appsettings.json. However, if I compare the recommended approach of loading a new config, this looks pretty much exactly like what the new WebHost.CreateDefaultBuilder
method does, except that it loads appsettings.json.
I currently don't understand how appsettings.json and IConfigureOptions<T>
are related, if at all, so it's possible that my trouble stems from a lack of understanding of what KestrelServerOptionsSetup
actually does.
I got it working with this
And the hosting.json
Works for me as it used to be
Then
To set listen URLs in appsettings.json, add "Kestrel" section:
Reference: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2
None of the above worked for me. This one worked for me:
(Change the 44306 to a port of your own liking)
And there might be a lot of help in this StackOverflow answer