Csharp/C#教程:SignalR和WinRT客户端:不要在Start()上调用Wait()分享


SignalR和WinRT客户端:不要在Start()上调用Wait()

我对SignalR的官方文档有疑问 – Hubs API Guide – .NET Client 。 在“ 如何建立连接”部分中 。 它写了以下内容:

Start方法异步执行。 要确保在建立连接之后不执行后续代码行,请在ASP.NET 4.5异步方法中使用await,或在同步方法中使用.Wait()。 不要在WinRT客户端中使用.Wait()。

有谁知道不打电话给Wait()的具体原因是什么? 此外,当我有一个WinRT客户端,我与hubProxy.Invoke()调用服务器时,这也适用吗?

谢谢您的帮助!

来自评论:

没有提到异步或同步代码。 默认情况下代码WinRT是异步还是还有其他我不知道或不理解的东西?

在客户端UI应用程序(包括WinRT)中,至少有两个不阻止的原因:

后者对于WinRT尤为重要,因为异步是普遍存在的。 整个WinRT框架被设计为“一直向下异步” ,所以如果你在UI线程的任何地方使用task.Waittask.Result你很可能会创建一个死锁。

对于服务器端ASP.NET应用程序,还有至少两个不阻止的原因:

您可能需要浏览async-await wiki中的链接列表以获取更多阅读材料。

上述就是C#学习教程:SignalR和WinRT客户端:不要在Start()上调用Wait()分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1022068.html

(0)
上一篇 2022年1月6日
下一篇 2022年1月6日

精彩推荐