如何在没有请求的情况下在AspNet核心应用程序中获取基本URL?
我从请求中知道您可以获取方案和主机(即$"{Request.Scheme}://{Request.Host}"
会提供类似https://localhost:5000的信息,但是可以从其他任何地方获取此信息吗?
换句话说,如果我有一个需要构建绝对URL的服务类,当没有http请求可用时,如何获取当前URL?
更新:也许这种情况甚至没有意义,因为托管URL完全在应用程序外部,这就是为什么仅将其从Request宿主中提取出来才有意义。
是的,托管URL是外部信息,您可以简单地将其作为配置参数传递给您的应用程序。
出于某种原因我需要在Start.cs Configure中获得基本URL,所以我想出了这个
,ASP.NET Core模块生成一个动态端口以分配给后端进程。 CreateDefaultBuilder调用UseIISIntegration方法。 UseIISIntegration将Kestrel配置为在本地IP地址(127.0.0.1)的动态端口上进行侦听。如果动态端口是1234,则Kestrel侦听127.0.0.1:1234。此配置替换由提供的其他URL配置。