Dej*_*jan 2 blazor blazor-server-side
我有一个服务器端 blazor 应用程序,我需要知道它的基本网址(例如https://localhost:1234或https://my-host.com/appname)。
在传统的ASP.NET Web应用程序,我可以检查Request控制器的性能以及从中检索信息(有Scheme,Host以及PathBase为该)。但由于这是一个服务器端运行的 Blazor 应用程序,因此没有Request对象(至少在我的理解中,除非在服务Index.cshtml.
我如何才能知道我的应用程序已部署到哪个 URL 并在哪个 URL 上运行?
理想情况下,我在启动时就已经有了这些信息,以便我可以相应地配置我的服务。
将其放入页面很容易:
@inject NavigationManager Navigator
<p>@Navigator.BaseUri</p>
Run Code Online (Sandbox Code Playgroud)
但是你不能NavigationManager在Startup课堂上使用 a 。
在 .Net Core 3.0 之后,IUriHelper已被替换为NavigationManager
要在 Blazor 页面内使用:
@inject NavigationManager NavigationManager
//example usage
var client = _clientFactory.CreateClient();
client.BaseAddress = new Uri(NavigationManager.BaseUri);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6439 次 |
| 最近记录: |