当在主入口点使用WebHostBuilder时,我如何指定它绑定到的端口?
默认情况下,它使用5000。
请注意,这个问题是特定于新的ASP。NET Core API(目前在1.0.0-RC2中)。
当在主入口点使用WebHostBuilder时,我如何指定它绑定到的端口?
默认情况下,它使用5000。
请注意,这个问题是特定于新的ASP。NET Core API(目前在1.0.0-RC2中)。
当前回答
进入properties/launchSettings。找到你的appname,在这个下面找到applicationUrl。您将看到,它正在运行localhost:5000,将其更改为您想要的任何名称。然后运行dotnet运行......好哇
其他回答
如果使用dotnet运行
dotnet run --urls="http://localhost:5001"
进入properties/launchSettings。找到你的appname,在这个下面找到applicationUrl。您将看到,它正在运行localhost:5000,将其更改为您想要的任何名称。然后运行dotnet运行......好哇
您可以指定托管URL,而不需要对应用程序进行任何更改。
创建Properties/launchSettings。Json文件,然后像这样填充它:
{
"profiles": {
"MyApp1-Dev": {
"commandName": "Project",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:5001/"
}
}
}
dotnet运行命令应该选择您的启动设置。Json文件,并将其显示在控制台中:
C:\ProjectPath [master ≡]
λ dotnet run
Using launch settings from C:\ProjectPath\Properties\launchSettings.json...
Hosting environment: Development
Content root path: C:\ProjectPath
Now listening on: http://localhost:5001
Application started. Press Ctrl+C to shut down.
详情:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments
当托管在docker容器(linux版本的我),你可能会得到一个'连接拒绝'消息。在这种情况下,您可以使用IP地址0.0.0.0,这意味着“这台机器上的所有IP地址”,而不是localhost环回来修复端口转发。
public class Program
{
public static void Main(string[] args)
{
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("http://0.0.0.0:5000/")
.Build();
host.Run();
}
}
或者,你也可以通过命令行运行app来指定端口。
简单地运行命令:
dotnet run --server.urls http://localhost:5001
注意:其中5001是要运行的端口。