c# - 如何在 .NET 8 中使用 Blazor Web 应用程序 (WebAssembly) 托管服务器端 Controller ?

标签 c# .net blazor blazor-webassembly .net-8.0

在 .NET 8 之前,使用 Blazor WebAssembly 应用托管服务器端 Controller 很容易。您只需单击项目模板中的“ASP.NET Core 托管”复选框,系统就会为您创建一个 ASP.NET Core 项目,该项目将托管 Blazor WebAssembly 客户端。

随着 .NET 8 的发布,引入了一个名为“Blazor Web App”的新模板。但它没有“ASP.NET Core Hosted”复选框

enter image description here

那么我应该如何托管服务器端 Controller ? “Blazor Web App”是否引入了处理客户端到服务器通信的新系统?

Microsoft documentation说:

We removed the Blazor Server template, and the ASP.NET Core Hosted option has been removed from the Blazor WebAssembly template. Both of these scenarios are represented by options when using the Blazor Web App template.

但我不确定这种情况如何“使用 Blazor Web 应用程序模板时由选项表示”

最佳答案

当您创建具有包含 Wasm 的交互性的“Blazor Web 应用程序”时,您已经获得了客户端和服务器项目。共享(DTO)项目丢失,但您可以轻松添加它,它只是一个类库。

将 AddControllers() 和 MapControllers() 添加到服务器的 Program.cs 中,然后就可以开始添加所需的 Controller 了。

   ...

builder.Services.AddControllers();
var app = builder.Build();

   ...

app.MapControllers();
app.Run();

关于c# - 如何在 .NET 8 中使用 Blazor Web 应用程序 (WebAssembly) 托管服务器端 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77486509/

相关文章:

.net - DDD、NHibernate 和项目结构/命名

.net - 使用 ODBC 和 C++ Net 将空 BLOB 插入 SQLite DB

typescript - Blazor JS 与 Typescript 互操作 - 正确的 DotNet 声明导入

C# (String.StartsWith && !String.EndsWith && !String.Contains) 使用列表

c# - 这是 WCF 服务应用程序的有效使用吗

c# - 是否可以为 path.Data 设置动画

c# - 为什么我不能使用索引器将项目添加到通用列表?

c# - xUnit.net:未运行测试类构造函数?

asp.net-core - 如何在 Blazor 客户端使用 Socket?

c# - blazor wasm 应用程序中运行时的程序集构建版本