signalr - 服务器端 Blazor 能否造成渲染延迟?
问题描述
想象一下我有这个组件:
<input bind-value-oninput="@Name">
<p>Your name is @Name</p>
string _name;
string Name
{
get => _name;
set => _name = value.ToUpper();
}
当我在输入中键入时,文本是否直接转换为大写并显示在段落中。
我认为(如果我错了,请纠正我)服务器端 Blazor 在服务器上运行 .NET MSIL 代码并通过 SignalR 连接发送 DOM 更改。
与服务器的连接可能会延迟,尤其是在 Internet 连接不佳的情况下。
在这种输入的情况下,可以在用户输入文本几秒钟后转换为大写吗?在肯定的情况下,我该如何解决?只使用客户端 Blazor?
解决方案
使用服务器端 Blazor 有几个缺点,当您必须决定使用哪种 Blazor 风格时,您必须考虑这些缺点。服务器端 Blazor 主要推荐使用在私有 Intranet 网络上,例如,有数百个用户同时访问网络的企业网络。在这种情况下,您根本不会遇到渲染延迟。
在公共 Internet 上使用服务器端 Blazor 在这方面可能会出现问题(它还有其他需要认真考虑的缺点),并且可能导致渲染延迟不可接受。但是,如果您被迫使用它,则必须寻找可以缓解此问题的方法(渲染延迟)。例如,不要使用输入事件。请改用更改事件。每当您按下键盘按钮时都会触发一个输入事件,这会导致调用服务器来处理该事件。但是如果你使用 change 事件,你可能会减少对服务器的调用次数。
希望这可以帮助...
推荐阅读
- c++ - 输出中产生的随机数 (C++)
- apache - 登录 ShinyProxy 后 Apache 重定向到 http
- microsoft-graph-api - 如何在登录用户和同一 AAD 中的另一个用户之间开始聊天对话
- python - 如何使用 python selenium 从 src html 部分选择图像链接
- asynchronous - 字符串的 Rust 期货
- java - 如何在可扩展到数百万用户的 Spring Boot 中动态调度多个并行作业?
- python - 如何比较熊猫中的两行(跨所有列),并对输出求和?
- django - Github oauth apache2 django daphne python-social-auth | 身份验证失败...redirect_uri
- matlab - MATLAB:指定点的颜色时,图例不匹配
- r - 用扫帚按组从回归中检索整齐的结果