我的应用程序使用ASP.NET Web API的自托管功能。我使用的NuGet包名是Microsoft.AspNet.WebApi.SelfHost。我使用following example作为基础。
以下代码适用于在ipv4 localhost端点上启动主机:
WebApp.Start<Startup>("http://127.0.0.1:43666");
如果我想指定ipv6地址,我该怎么办? &#34; HTTP:// [:: 1]:43666&#34;不起作用。抛出的异常是[重新格式化]:
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)
根据我对反射器中代码的检查判断,HttpAddUrlToUrlGroup
函数返回错误代码1232
答案 0 :(得分:8)
我没有找到解决方案,但是以下是一种解决方法,虽然它将在所有地址启动服务器,包括非本地和ipv4:
WebApp.Start<Startup>("http://+:43666");
由于这个问题没有产生任何兴趣,我正在关闭它
答案 1 :(得分:0)
有同样的问题,它似乎是服务运行的帐户。需要确保它在NetworkService下运行 - 本地主机和其他URL的变体应该可以工作:)