Blazor Server可通过IConfiguration或IOptions读取服务端appsettings.json中的连接字符串,而Blazor WebAssembly因运行在浏览器中,绝不可存放或读取连接字符串,必须通过后端API访问数据库,确保敏感信息仅存在于服务端安全存储中。

Blazor 本身不直接读取配置,关键看运行模式:服务端(Blazor Server)和客户端(Blazor WebAssembly)处理方式完全不同。连接字符串通常只在服务端可用,WebAssembly 因运行在浏览器中,无法安全访问服务器配置。
Blazor Server:通过依赖注入读取连接字符串
服务端项目结构和 ASP.NET Core MVC/Minimal API 类似,可直接使用 IConfiguration 或类型化配置。
- 确保
appsettings.json中已定义连接字符串,例如:
"DefaultConnection": "Server=...;Database=...;Trusted_Connection=true;"
}
- 在
Program.cs中注册服务时,自动加载配置(默认已启用) - 在组件(如
.razor文件)中用@inject IConfiguration Configuration - 读取:@Configuration.GetConnectionString("DefaultConnection")
- 更推荐方式是创建强类型配置类 +
IOptions<youroptions></youroptions>注入,便于测试和维护
Blazor WebAssembly:不能直接读取服务器 appsettings.json
WebAssembly 应用在浏览器中运行,appsettings.json 是公开的静态资源(可通过浏览器直接访问),所以绝不能把生产连接字符串放在这里。
标签: js 前端 json docker 浏览器 app 后端 路由 数据访问 .net
还木有评论哦,快来抢沙发吧~