使用 Blazor WASM 读取静态 Web 应用程序服务的 Azure 门户应用程序设置

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

我正在 Azure 静态 Web 应用程序上运行 Blazor WASM 应用程序。 在我的 .NET6 C# 应用程序中,我想读取我在门户中添加的设置。 我没有使用也不想使用 appsettings.json 或 web.config。我想阅读我在门户中添加的值。

我已经读了好几天了。我找到了很多有关服务器端解决方案的页面,但我无法使用这些页面,因为我只运行客户端。

我认为我需要在程序中做一些事情。cs:

static void ConfigureServices(IServiceCollection services, string baseAddress)
{
    services.AddTransient(_ => new HttpClient(new DefaultBrowserOptionsMessageHandler(new HttpClientHandler())
    {
        DefaultBrowserRequestCache = BrowserRequestCache.ForceCache,
        DefaultBrowserRequestMode = BrowserRequestMode.Cors
    })
    {
        BaseAddress = new Uri(baseAddress)
    });

    // TODO make the settings from the portal available for all pages and components
}

我不知道如何注入设置。

我想我需要在我的页面上使用它,如下所示:

@page "/"
@inject IConfiguration _configuration

<h1>Hello, world!</h1>

<p>Welcome to your new app.</p>
<p>Config: @_configuration["Foo"]</p>
<p>Env: @Environment.GetEnvironmentVariable("Foo")</p>

<SurveyPrompt Title="How is Blazor working for you?" />

请指教。

azure configuration blazor-webassembly azure-static-web-app
3个回答
0
投票

目前,应用程序设置仅适用于与 Blazor 应用程序关联的后端 API(使用 Azure 静态 Web 应用程序时)。

请参阅配置 Azure 静态 Web 应用程序的应用程序设置了解详细信息。


0
投票

根据 @HariKrishnaRajoli-MT,应用程序设置仅适用于后端 API。基本上,解决方案是创建一个后端(Azure 函数),将设置返回到前端(Blazor WASM)。

实现此目的的最简单方法是使用 Azure Functions 来使用依赖项注入公开应用程序设置。使用 options 模式 使它变得非常简单。这些选项可以注入到函数中并在调用时返回。


0
投票

我知道您说过您不想使用 appsettings.json,但这是我在 Blazor WASM 应用程序中读取 IConfiguration 配置的唯一方法。

我在构建管道中使用替换令牌任务来替换 appsettings.json 中特定于环境的值。

如果您坚持读取门户中的值,那么Gary Chan 的答案构建一个 API 将配置发送到客户端是我见过人们实现的一种方式。

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