无法使用UseUrls绑定到其他端口

时间:2018-03-20 07:22:12

标签: asp.net-core .net-core asp.net-core-2.0

以下代码只是将端口更改为9874.它在Project中保持不变 - >调试 - > Web服务器设置 - >应用网址 - > " http://localhost:56021/",它使用56021端口。我使用VS 2017来创建.net核心webapi项目。

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseUrls("http://localhost:9874")
        .Build();

即使我改为发布模式也是如此。

2 个答案:

答案 0 :(得分:1)

通过更改launchSettings.json来解决它。

如果在上面的文件中设置了设置,那么具有UseUrls的要点是什么,因为它总是引用launchsettings.json设置?

答案 1 :(得分:1)

Project -> Debug -> Web Server Settings中,您会看到只有在尝试从VS运行应用时才会使用的项目配置文件。

在VS中,launchSettings.json负责存储和检索仅从VS运行项目所需的项目配置设置。换句话说,如果您在VS之外运行应用程序(例如,从命令行说),则会忽略launchSettings.json

回到.UseUrls方法:它不会(并且不能,主要是因为您的应用根本不知道配置文件)更改了项目配置文件。是的,此方法指示服务器应侦听请求的端口和协议的IP地址或主机地址。但这些设置将应用于将在app start上创建的Server实例。