Signalr 服务器端Blazor会造成渲染延迟吗?

Signalr 服务器端Blazor会造成渲染延迟吗?,signalr,blazor,blazor-server-side,Signalr,Blazor,Blazor Server Side,假设我有这个组件: <input bind-value-oninput="@Name"> <p>Your name is @Name</p> 当我输入时,文本直接转换为大写并显示在段落中 我想,如果服务器端Blazor在服务器上运行.NET MSIL代码并通过信号器连接发送DOM更改,请纠正我的错误 与服务器的连接可能会延迟,特别是在Internet连接不良的情况下 在这种情况下,是否可以在用户输入文本几秒钟后转换为大写?在火灾情况下,我如何解决它?仅使用客

假设我有这个组件:

<input bind-value-oninput="@Name">
<p>Your name is @Name</p>
当我输入时,文本直接转换为大写并显示在段落中

我想,如果服务器端Blazor在服务器上运行.NET MSIL代码并通过信号器连接发送DOM更改,请纠正我的错误

与服务器的连接可能会延迟,特别是在Internet连接不良的情况下


在这种情况下,是否可以在用户输入文本几秒钟后转换为大写?在火灾情况下,我如何解决它?仅使用客户端Blazor?

良好/平均连接上的渲染延迟<50 ms

即使在一个坏的连接上,你也应该保持在1秒以下

当你的连接变得如此糟糕,你得到以上,然后有一个重新连接对话框内置


但是,是的,如果您希望始终可用,并且在连接非常糟糕或没有连接的情况下,最好使用客户端

良好/平均连接上的渲染延迟<50 ms

即使在一个坏的连接上,你也应该保持在1秒以下

当你的连接变得如此糟糕,你得到以上,然后有一个重新连接对话框内置


但是,是的,如果您希望始终可用,并且在连接非常糟糕或没有连接的情况下,最好使用客户端

使用服务器端Blazor有几个缺点,当您必须决定使用哪种风格的Blazor时,必须考虑到这些缺点。服务器端Blazor主要推荐在私有Intranet网络上使用,例如,一个有数百个用户同时访问网络的企业网络。在这种情况下,您将不会遇到任何渲染延迟

在公共互联网上使用服务器端BLAZOR可能是有问题的,在这方面,它还有其他不利因素需要认真考虑,并且可能导致渲染中不可接受的延迟。但是,如果您被迫使用它,则必须寻找能够缓解此问题的方法。例如,不要使用输入事件。改为使用更改事件。每当您按下键盘按钮时,就会触发一个输入事件,这会导致调用服务器来处理该事件。但是,如果使用更改事件,则可以减少对服务器的调用次数


希望这能有所帮助……

使用服务器端Blazor有几个缺点,当您必须决定使用哪种风格的Blazor时,您必须考虑这些缺点。服务器端Blazor主要推荐在私有Intranet网络上使用,例如,一个有数百个用户同时访问网络的企业网络。在这种情况下,您将不会遇到任何渲染延迟

在公共互联网上使用服务器端BLAZOR可能是有问题的,在这方面,它还有其他不利因素需要认真考虑,并且可能导致渲染中不可接受的延迟。但是,如果您被迫使用它,则必须寻找能够缓解此问题的方法。例如,不要使用输入事件。改为使用更改事件。每当您按下键盘按钮时,就会触发一个输入事件,这会导致调用服务器来处理该事件。但是,如果使用更改事件,则可以减少对服务器的调用次数


希望这有帮助…

您是否会问,根据连接的可用性和强度,客户端和服务器端之间是否可以交替执行?@Issac否,我是问Blazor在使用服务器端托管模型时的行为,连接不好。您的问题实际上更多的是关于Signal,我已经添加了标签。您是否询问是否可以根据连接的可用性和强度在客户端和服务器端之间交替执行?@Issac否,我是问Blazor在使用服务器端托管模型时的行为,并且连接不好。您的问题实际上更多的是关于Signal,我已经添加了标签。谢谢!如果我的互联网连接不好,我会不断收到重新连接消息,使导航无法进行?是的。服务器端的属性之一是不支持脱机。我不知道带宽或延迟的实际阈值,但您确实需要一些互联网。谢谢。对我来说,这两个答案都是可以补充的。@Bohring你有没有正式的Blazor服务器参考资料来解释Blazor服务器的最低连接要求?谢谢!如果我的互联网连接不好,我会不断收到重新连接消息,使导航无法进行?是的。服务器端的属性之一是不支持脱机。我不知道带宽或延迟的实际阈值,但您确实需要一些互联网。谢谢。对我来说,这两个答案是可以补充的。@Bohring你有官方的Blazor服务器参考资料解释Blazor服务器的最低连接要求吗?你能记录下其他的吗
锿?谢谢你,IssacOk,我在这里找到了它。我认为在按下输入键时,会出现另一个问题,即该输入事件上的任何已处理代码似乎都会被阻止,直到该键被解除。我在自己的项目中看到了这一点。还有一个点,光标会跳到输入的另一个部分,通常是结束处,字符从那里开始键入。这里可能有两个问题;在保留键上阻塞,以及延迟。无论哪种方式,客户端都是响应式交互代码的首选选项。幸运的是,无论如何,您都可以将服务器切换到客户端,因此很高兴继续在服务器端进行开发。您可能会对keydown事件有更好的体验。您可以记录其他缺点吗?谢谢你,IssacOk,我在这里找到了它。我认为在按下输入键时,会出现另一个问题,即该输入事件上的任何已处理代码似乎都会被阻止,直到该键被解除。我在自己的项目中看到了这一点。还有一个点,光标会跳到输入的另一个部分,通常是结束处,字符从那里开始键入。这里可能有两个问题;在保留键上阻塞,以及延迟。无论哪种方式,客户端都是响应式交互代码的首选选项。幸运的是,无论如何,您都可以将服务器切换到客户端,所以很高兴继续在服务器端进行开发。您可能会对keydown事件有更好的体验。