Myk*_*sev 12 blazor blazor-server-side
这可能是一个愚蠢的问题。但我试图阅读更多有关 Blazor 的内容,但我总是对@code
. 据我了解,当您@code
在客户端 blazor 内部使用时,所有内容都在客户端浏览器本地运行。所以我有几个问题:
@code
在服务器上运行还是在客户端上运行?@code
本质上是在blazor中转换为JS吗?Isa*_*aac 17
@code 块在 Blazor Server 应用程序和 Blazor WebAssembly 应用程序中使用,用于分隔组件的视图(混合 C# + Html 标记)部分及其代码部分。这两个部分都被编译成一个 ComponentBase 类。
当您使用 blazor 服务器端时,@code 块内的代码是在服务器上运行还是在客户端上运行?
您的 Blazor 服务器应用程序仅在服务器上运行。它发出通过 SignalR 连接传递到客户端浏览器的 Html 差异,并且客户端 SignalR 代码 (JavaScript) 使用传递给它的 Html 差异更新 DOM 元素。
请注意,与 Blazor 服务器应用程序的客户端(浏览器)的每次交互都是在服务器上执行的。因此,如果您单击某个按钮,则附加到该按钮的单击事件的事件处理程序将在服务器上执行。
@code 块内的代码本质上是否已转换为 blazor 中的 JS?
不。它是 C# 代码,并且仍然如此。如果您的应用程序位于 Blazor Server App 中,它将再次在服务器上执行。如果它在 Blazor WebAssembly 应用程序中,则会在浏览器上以 C#、.Net 程序集执行。它甚至没有编译成 wasm。它是浏览器上的.Net。但是,执行这些 .Net 程序集的 mono 运行时被编译为 WebAssembly。
是否可以在服务器端 blazor 应用程序中的客户端本地运行 C# 代码?
从我上面写的内容来看,很明显事实并非如此。同样,Blazor Server App 在服务器上执行。您的用例不是问题,可以轻松解决......
希望这可以帮助...
归档时间: |
|
查看次数: |
2169 次 |
最近记录: |