有办法从program.cs文件中获取URL吗?我看到了@inject NavigationManager MyNavigationManager
的一个选项,但它适用于组件。
那么这是Blazor服务器端还是客户端?如果是客户端,则可以使用IWebAssemblyHostEnvironment来获取url。你可以试试这个:
private static void ConfigureServices(IServiceCollection services, IWebAssemblyHostEnvironment hostEnvironment)
{
var baseAddress = hostEnvironment.BaseAddress;
}
接受的答案有效并回答问题。评论如";您不需要检查基本URL是什么";对我来说似乎没有帮助。
在我的情况下,我正在以编程方式配置OIDC提供程序,并需要制定重定向URL以在处接收授权响应。这似乎是一个完全合法的用例,这里的答案非常有用。我最终在我的程序.cs:中得到了这段代码
string clientBaseUrl = builder.HostEnvironment.BaseAddress;
if(clientBaseUrl.EndsWith("/")) { clientBaseUrl = clientBaseUrl.TrimEnd('/'); }
Console.Out.WriteLine("clientBaseUrl: " + clientBaseUrl);