在.NET8之前,使用Blazor WebAssembly应用程序托管服务器端控制器很容易.您只需单击项目模板中的"ASP.NET Core Hosted"复选框,就会为您创建一个ASP.NET Core项目,该项目将托管Blazor WebAssembly客户端.

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

enter image description here

那么,我是如何建议托管服务器端控制器的呢?"Blazor Web App"是否引入了处理客户端到服务器通信的新系统?

Microsoft documentation表示:

我们删除了Blazor服务器模板,ASP.NET Core承载了 选项已从Blazor WebAssembly模板中删除.两个都是 使用Blazor Web时,这些方案由选项表示 应用程序模板.

但我不确定这个场景是如何"在使用Blazor Web应用程序模板时由选项表示的"

推荐答案

当你创建一个"Blazor Web App"时,你已经得到了一个客户端和一个服务器项目.共享(DTO)项目缺失,但您可以很容易地添加它,它只是一个类库.

将AddController()和MapController()添加到服务器的Program.cs中,然后就可以开始添加所需的控制器了.

   ...

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

   ...

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

Csharp相关问答推荐

注册通用工厂的C# Dep注入

System. InvalidOperationException:无法将数据库中的字符串值i转换为映射的ItemType枚举中的任何值''''

程序集.加载从exe的异常

一小时后,自定义缓存停止在App Insight中保存

无法创建';';类型的';DbContext';.异常';无法解析类型';Microsoft.EntityFrameworkCore.DbContextOptions`1[Comm的服务

为什么在使用动态obj+类obj时会调用串联?

ASP.NET核心MVC SqlException:违反主键约束';PK_USER';.无法在对象';数据库中插入重复的密钥.用户';

在EF Core中,有没有什么方法可以防止在查询中写入相同的条件,而代之以表达式?

如何使用.NET6WPF打印车票?

C#自定义验证属性未触发IsValid方法

RabbitMQ群集的MassTransit配置问题

在C#中,当输入一个方法/局部函数时,我的IEnumerator被重置/重新创建.为什么?

Blazor服务器项目中的Blazor/.NET 8/Web API不工作

Linq SELECT的多条指令

如何在C# WinForm控件中使用Windows 10/11的黑暗主题?

使用C#12中的主构造函数进行空判断

.NET文档对继承的困惑

无法将.Net Framework 4.8.1升级到.Net 7

ASP.NET重新加载Kestrel SSL证书

组件';EditForm';使用与包含子内容元素';授权';相同的参数名称(';上下文';)