我试图让我的应用程序在多个端口上侦听,
我的主要启动代码;
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://*:4445")
.Build();
}
附加主持人
Host = new WebHostBuilder()
.ConfigureServices(s => { s.AddSingleton(Session); })
.UseKestrel()
.UseUrls($"http://*:{Session.ProxyPort}") //5684
.UseIISIntegration()
.UseStartup<ProxyStartup>()
.Build();
Host.Start();
例外
Message: Failed to bind to address http://127.0.0.1:26450: address already in
端口不是固定的高端口号,我也看到28246
一些netstat的东西;违规港口是21975
TCP 127.0.0.1:21975 MyMachine:0 LISTENING
[dotnet.exe]
TCP 127.0.0.1:21975 MyMachine:57398 ESTABLISHED
[dotnet.exe]
TCP 127.0.0.1:57398 MyMachine:21975 ESTABLISHED
[iisexpress.exe]
答案 0 :(得分:0)
在这种情况下,问题与调试和调试下的项目设置有关。
有两个配置文件,一个名为IIS表示另一个名为我的项目名称将“启动:项目”。调试似乎总是转到第一个选项(IIS EXPRESS),删除该配置文件修复了我的问题