gpt4 book ai didi

asp.net-mvc - 两个 Kestrel 进程可以监听同一域中的不同 URL 吗?

转载 作者:行者123 更新时间:2023-12-02 04:53:17 26 4
gpt4 key购买 nike

假设我有两个名为“a”和“b”的应用程序。如何让它们同时在同一域的不同虚拟目录下运行?

Identity 应该监听 http://localhost:8080/a/

var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls($"http://*:8080/a/")
.UseStartup<Startup>()
.Build();
host.Run();

用户配置文件应监听 http://localhost:8080/userprofiles/

var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseUrls($"http://*:8080/b/")
.UseStartup<Startup>()
.Build();
host.Run();

这些应用程序单独运行,但是当我同时启动它们时,我收到此错误

crit: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to start Kestrel.
System.IO.IOException: Failed to bind to address http:/ /*:8080/userprofiles: address already in use. ---> System.AggregateException: One or more errors occurred.
(Error -4091 EADDRINUSE address already in use) ---> Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvException: Error -4091 EADDRINUSE address already in use
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.ThrowError(Int32 statusCode)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.Libuv.tcp_getsockname(UvTcpHandle handle, SockAddr& addr, Int32& namelen)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Networking.UvTcpHandle.GetSockIPEndPoint()

最佳答案

Kestrel 本身无法共享端口。您可以在 IIS 后面运行它并执行此操作,也可以使用 WebListener。

关于asp.net-mvc - 两个 Kestrel 进程可以监听同一域中的不同 URL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44991593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com