在 Blazor 中获取放置处理程序

Get Put Handlers in Blazor

对于 Razor 页面,我们有 Get 和 Put 处理程序,其代码在服务器端执行,例如,当发布表单时,甚至使用简单的 OnGet 调用。 在 Blazor 中相当于什么?例如,我可以将代码连接到 onclick 事件,但该代码在浏览器中执行 (Blazor wasm),对吗?我将如何在服务器上执行代码? web API 是 Blazor 下的唯一解决方案吗?

I can hookup code to a onclick event for example, but that code executes in the browser (Blazor wasm), is that correct?

正确,代码将 运行 在客户端 wasm 版 Blazor 的浏览器中。您可以像在其他 SPA 框架中一样注入 HttpClient 并进行 http 调用。默认模板中的天气预报示例正是这样做的。另请参阅 docs 了解更多信息。

How would I go about executing code on the server?

您需要在服务器端实现端点,以接受和处理客户端发送的请求。例如 REST apis with json 就是这样工作的。

Sample doc 用于在 asp.net 核心中实现 REST api。 模板的托管版本还包括 REST api 示例。

Is web API the only solution under Blazor?

不,gRPC 或 SignalR 也是一种不错的方法。取决于用例。