2017-10-22 48 views
1

私はASP.NET Core 2での作業方法を学習しています。私はかなり厄介な問題に遭遇しました。アプリケーションを実行するたびに、Kestrelサーバはエンドポイント設定を無視し、代わりにランダムなポートでリッスンを開始します。言うまでもなく、これは私が期待した行動ではありません。サーバーのログを掘りとき、私はまた、このメッセージに出くわしました:Kestrelでエンドポイントを設定するにはどうしたらいいですか?

Overriding endpoints defined in UseKestrel() because PreferHostingUrls is set to true. Binding to address(es) 'http://localhost:<some random port>' instead. 

私はこれまでのところ、この「PreferHostingUrls」設定またはどのようにそれを変更する方法上の任意のドキュメントを見つけることができませんでした。誰かがKestrelをランダムなものではなく指定されたポートでリッスンするように設定する方法を知っていますか?

WebHost.CreateDefaultBuilder(args) 
     .UseConfiguration(config) 
     .UseKestrel(
      options => 
      { 
       options.Listen(IPAddress.Loopback, 50734); 
       options.Listen(IPAddress.Loopback, 44321, listenOptions => 
       { 
        listenOptions.UseHttps("pidea-dev-certificate.pfx", "****************"); 
       }); 
      }) 
     .UseStartup<Startup>() 
     .UseIISIntegration() 
     .Build(); 
+0

がそれです2.0の新機能ですが、 'UseKestrel()'の前後に '.PreferHostingUrls(false)'を追加するとどうなりますか? –

+0

ドキュメントはこちら[https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.hosting.hostingabstractionswebhostbuilderextensions.preferhostingurls?view=aspnetcore-2.0]と[ここ](https: /docs.microsoft.com/en-us/aspnet/core/fundamentals/hosting?tabs=aspnetcore2x) –

+0

@HenkHoltermanサーバーは設定されたエンドポイントを引き続き上書きします。 – Exevan

答えて

1

[OK]を、ので、それはIISExpressがここに犯人であったが、:

私のホストの構成は次のようになります。

何らかの理由で、Visual Studio 2017の既定のビルド構成で、IISExpressサーバー上で自分のアプリケーションを開始しますが、これはエンドポイント構成をリッスンしません。この問題を解決するには、カスタム実行構成に切り替えるだけでした。

まとめ

、私はちょうどこれを切り替える必要があった。これに

enter image description here

enter image description here

(PIdeaは私のプロジェクトの名前である)

関連する問題