私はVS 2015 Update3を使用しています。 私はVSに私がポートで40000
VS 2015はKestrelを使用していますか?
を実行するために、IIS Expressを構成している、これはlaunchSettings.jsonは
どのように見えるかですpublic class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://*:5000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
次Program.csのコードでASP.NETコアウェブAPIを持っています
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:40000/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "api/workunit",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Api": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "http://localhost:5000/api/values",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
次に、F5キーを押してVisual Studioを使用してアプリケーションを実行します。 APIにリクエストをすると、結果が返ってくるので、すべて正常に動作します。
Program.csには.UseIISIntegration()
があります。だから私はIIS Expressにリクエストが来たときに印象に残っていました。そのリクエストをKestrelに転送するだけです。 私は、IIS ExpressとKestrelの両方を2つの異なるポートで同時に実行する必要があると考えました。
しかし、netstat -ab
コマンドを実行したときに、IIS expressがポート40000で期待どおりに動作していることがわかりましたが、何もポート5000
で実行されていません。実際にテストするには、IIS Expressポートを5000
に変更しても問題なく動作しました。私はIIS ExpressとKestrelの間の競合が予想されていましたが、それは起こりませんでした。
VS 2015はKestrelをまったく使用していますか?