如何在不访问请求的情况下获取基本网址

问题描述 投票:24回答:3

如何在没有请求的情况下在AspNet核心应用程序中获取基本URL?

我从请求中知道您可以获取方案和主机(即$"{Request.Scheme}://{Request.Host}"会提供类似https://localhost:5000的信息,但是可以从其他任何地方获取此信息吗?

换句话说,如果我有一个需要构建绝对URL的服务类,当没有http请求可用时,如何获取当前URL?

更新:也许这种情况甚至没有意义,因为托管URL完全在应用程序外部,这就是为什么仅将其从Request宿主中提取出来才有意义。

asp.net-core asp.net-core-mvc base-url
3个回答
8
投票

是的,托管URL是外部信息,您可以简单地将其作为配置参数传递给您的应用程序。


14
投票

出于某种原因我需要在Start.cs Configure中获得基本URL,所以我想出了这个


2
投票

,ASP.NET Core模块生成一个动态端口以分配给后端进程。 CreateDefaultBuilder调用UseIISIntegration方法。 UseIISIntegration将Kestrel配置为在本地IP地址(127.0.0.1)的动态端口上进行侦听。如果动态端口是1234,则Kestrel侦听127.0.0.1:1234。此配置替换由提供的其他URL配置。

© www.soinside.com 2019 - 2024. All rights reserved.