WPF应用程序是否有一个等价于$.connection.hub.start().done()的Javascript方法?
本文关键字:done Javascript 方法 start hub 是否 应用程序 有一个 等价于 connection WPF | 更新日期: 2023-09-27 17:53:34
我正在开发一个WPF聊天应用程序,有两个项目
- WPF服务器
- WPF客户端
在制作login request
时,我希望用户只有在服务器已经启动时才能连接,否则用户应该无法登录。
我在这个应用程序中使用SignalR
。我如何在登录前检查服务器是否已经启动,然后让用户连接到它。
可以在JavaScript中使用
实现$.connection.hub.start().done(function ()
{
});
如何在wpf应用程序中实现这一点?
您可以像下面的代码一样通过异常来处理它:
try
{
var hubConnection = new HubConnection(url,...);
... ; /*defining proxies and handlers*/
hubConnection.Start().Wait();
}
catch(Exception ex)
{
/*handle exception code */
}
或者:注意hubconnection.Start()
返回一个Task
,所以如果你想运行代码并检查它是否成功运行或有一个异常,你可以使用ContinueWith
方法:
var hubConnection = new HubConnection(url,...);
... ; /*defining proxies and handlers*/
hubConnection.Start().ContinueWith( t=> {
/* code to run if connection has been made successfully */
},TaskContinuationOptions.OnlyOnRanToCompletion );
所以我们可以说这个ContinueWith和TaskContinuationOptions.OnlyOnRanToCompletion
等价于$。connection。hub。start()。done()