Skip to main content

Blazor基础之配置

分类:  Blazor入门 标签:  #Asp.Net core基础 #.Net #Web #Web Client #Blazor 发布于: 2023-05-25 20:48:56

今天我们来学习Blazor应用的配置。

关于Blazor应用的配置,我们需要按照部署模型来分别讨论,这其中基于Server部署的模型其配置模型和ASP.net Core的常规应用是一致的,这个部分,您可以参考ASP.net Core的官方文档:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-5.0

本章主要讨论基于WebAssembly模型部署的配置讨论,以下所有的内容都是基于WebAssembly部署模型。

配置文件

配置文件的位置默认在wwwroot下:

  1. Wwwroot/appsettings.json

  2. Wwwroot/appsettings.{ENVIRONMENT}.json

 

基于WebAssembly的部署模型支持大多数的配置提供者,但是如下两个是明确不支持的:

  1. 基于Azure Key Vault的配置。

  2. 基于Azure App     configure服务提供者不支持。

 

Blazor应用默认的配置文件只能是上述两种文明形式的配置文件,如果我们需要提供其他名称的配置文件该怎么办?

  1. 配置文件只能是Jason格式的,以json为扩展名,并且放置在目录wwwroot目录下。

  2. 基于WebAssembly的应用默认已经注入了HttpClient的服务,我们需要通过该服务将配置文件读入并集成进来,如下图代码所示:本代码是在Program.cs中的Main方法中运行:


如何在组件中使用配置项

 很简单,现在组件中通过DI引入Iconfigruation , 然后直接通过指令@引用即可:

如下图:

基于内存的配置项 

这个非常有用,考虑一个场景,例如在基于WebAssembly的应用中,通过HttpClientweb api请求内容,可以考虑将生成token的一些要素以编码的形式硬编码到代码中,可以稍微减少一些安全的因素,当然其实也没那么安全。用法如下:


用法还是和上面一样。

日志配置


需要在Program.cs中引入日志包:

using Microsoft.Extensions.Logging;