11

私のアプリケーションはASP.NET Web APIのセルフホスティング機能を使用しています。私が使用する NuGet パッケージ名は Microsoft.AspNet.WebApi.SelfHost です。次の例をベースとして使用しました。

次のコードは、ipv4 localhost エンドポイントでホストを起動するために機能します。

WebApp.Start<Startup>("http://127.0.0.1:43666");

IPv6アドレスを指定したい場合は何を入力すればよいですか? 「http://[::1]:43666」は機能しません。スローされた例外は [再フォーマット]:

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 を返しました。

4

2 に答える 2

10

解決策は見つかりませんでしたが、次の回避策がありますが、非ローカル アドレスと ipv4 を含むすべてのアドレスでサーバーが起動します。

WebApp.Start<Startup>("http://+:43666");

この質問は興味を持たなかったので、閉じます

于 2013-10-14T15:03:31.707 に答える
0

同じ問題があり、サービスが実行されていたアカウントのようです。NetworkService の下で実行されていることを確認する必要があります - その場合、localhost とその他の URL のバリエーションの両方が機能するはずです:)

于 2016-07-21T14:38:47.497 に答える