如何将 Blazor Server 应用添加到 ASP.NET 模型/控制器 Web API 中

主要观点:

  • Blazor 是用 C#/.NET 构建 Web 应用的现代框架,可在多种渲染模式下“随处”运行,支持预渲染静态站点、服务器渲染和客户端渲染的 Web 应用,.NET 8 可在组件基础上混合和更改渲染模式。
  • 本文重点介绍使用 Blazor Server 渲染 Web 应用,其通过 SignalR 连接在服务器处理更改并将 DOM 更新流式传输到浏览器。
  • ASP.NET Web API 是用 C#/.NET 构建 Web API 的现代且成熟框架。
  • 可编写 Blazor Server 项目来检索数据,本文聚焦于将 Blazor Server 应用添加到现有模型/控制器 WebAPI 项目中。

关键信息:

  • 创建 Web API 项目:使用dotnet new webapi --name add_blazor_server -controllers命令,包含Controllers目录、add_blazor_server.csproj项目文件、add_Blazor_server.http测试文件、appsettings.json配置文件、Program.cs入口点、WeatherForecase.cs模型对象。
  • 创建 Blazor Server 应用:使用dotnet new blazorserver --name demo_blazorserver命令,包含Data数据访问目录、PagesSharedwwwroot用于 UI 体验的目录、Program.cs
  • 集成 Blazor 与 ASP.NET Web API:在 Web API 项目的Program.cs中添加builder.Services.AddRazorPages(); builder.Services.AddServerSideBlazor();注册 Blazor 服务,在中间件设置中添加 Blazor 管道中间件,复制App.razor等文件,更新FetchData.razor页面以调用 Web API 控制器。
  • 在 Blazor Server 中进行 WebAPI 控制器调用:在Program.cs中添加builder.Services.AddHttpClient();设置 HTTP 客户端,在FetchData.razor中注入NavigationManagerHttpClientFactory,更新OnInitializedAsync()调用以获取数据。

重要细节:

阅读 81
0 条评论