@code 块中的代码是否已编译并可通过浏览器调试查看?

Is code within the @code block compiled and visible through browser debugging?

我对 Blazor WASM 比较陌生。我用过 Blazor Server 很多次,并且有大量使用 ASP.NET.

的经验

Blazor WASM 似乎分为两个独立的项目 - OOTB,一个新项目产生了 ProjectName.Client 和 ProjectName.Server。我希望 Server 项目下的所有内容都驻留在服务器上,因此对浏览器不可见。

我不确定客户端项目中的代码。具体来说,@code 块中的代码。我希望这些代码块在客户端浏览器上执行,但它们对客户端可见,还是 encrypted/hidden/etc 因此不可见?

具体来说,我希望创建一个页面,其中包含一个提交给 HTTP 端点进行处理的表单。当然,该表格的内容对客户来说是显而易见的,因为他们刚刚填写了它,但具体来说,我想隐藏传出的 HTTP 调用。

所以,tl;dr:

  1. 如果我将代码放在@code 块中,客户端是否可以通过某种方式反编译并看到它?
  2. 如果我在@code 块中发出传出 HTTP 请求,客户端是否可以使用 Fiddler 等工具或在浏览器网络选项卡中看到该请求?
  3. 可以肯定的是,如果我将代码放在服务器项目中,并且我让客户端项目将请求与表单数据一起发送到服务器项目,那么来自服务器项目的传出 HTTP 请求是否会完全正确?对客户隐藏?

在 Blazor WASM 中,WASM 项目所需的所有代码都已下载到浏览器。即,将其视为 public 域代码。它需要反编译,但使用正确的工具可以看到其中的所有内容。

从客户端代码到 API 的任何调用也是可见的。

API 控制器中的任何代码都是纯 ASPNetCore 服务器端代码,除非遭到破坏,否则无法看到。

所以