问题
My application uses self-hosting feature of ASP.NET Web API. NuGet package name I use is Microsoft.AspNet.WebApi.SelfHost. I used following example as a base.
Following code works for me to launch host on ipv4 localhost endpoint:
WebApp.Start<Startup>("http://127.0.0.1:43666");
What do I enter if I want to specify ipv6 address? "http://[::1]:43666" does not work. Exception thrown is [reformatted]:
System.Net.HttpListenerException: The network location cannot be reached. For information
..about network troubleshooting, see Windows Help
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at Microsoft.Owin.Host.HttpListener.OwinHttpListener.Start(HttpListener listener,
..Func`2 appFunc, IList`1 addresses, IDictionary`2 capabilities, Func`2 loggerFactory)
at Microsoft.Owin.Host.HttpListener.OwinServerFactory.Create(Func`2 app,
..IDictionary`2 properties)
Judging by my inspection of code in reflector, the HttpAddUrlToUrlGroup
function returned error code 1232
回答1:
I did not find a solution, however following is a workaround, although it will start server on all addresses, including non-local and ipv4:
WebApp.Start<Startup>("http://+:43666");
Since this question didn't generate any interest I'm closing it
回答2:
had the same problem and it seemed to be the Account under which the service was running. Need to make sure it's running under NetworkService - both localhost and other variations of URLs should work then :)
来源:https://stackoverflow.com/questions/18707411/what-url-does-owin-understand-for-ipv6-self-hosting