假设您有 2 个 ASP.NET 核心项目;一个 API 和一个网站。我想在本地(同时,因为网站使用 api)使用以下 url 来处理这些:devapi.website.com
和dev.website.com
.
Program.cs
目前,只有当我在文件中为两个项目指定不同的端口号(并在我的浏览器中使用所述端口号)时,我才能让它工作:
API
var host = new WebHostBuilder()
.UseUrls("http://devapi.website.com:81")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
网站
var host = new WebHostBuilder()
.UseUrls("http://dev.website.com:82")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
在我的主机文件中:
127.0.0.1 devapi.website.com
127.0.0.1 dev.website.com
如果我在 中指定相同的端口号(或者,事实上,根本没有 - 我想使用端口 80)Program.cs
,一个项目将运行,另一个项目将抛出
Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException:错误 -4091 EADDRINUSE 地址已在使用中
在启动时。
如何在不指定不同端口号的情况下同时运行这 2 个项目?