WPF应用程序是否有一个等价于$.connection.hub.start().done()的Javascript方法?

本文关键字:done Javascript 方法 start hub 是否 应用程序 有一个 等价于 connection WPF | 更新日期: 2023-09-27 17:53:34

我正在开发一个WPF聊天应用程序,有两个项目

  1. WPF服务器
  2. WPF客户端

在制作login request时,我希望用户只有在服务器已经启动时才能连接,否则用户应该无法登录。

我在这个应用程序中使用SignalR。我如何在登录前检查服务器是否已经启动,然后让用户连接到它。

可以在JavaScript中使用

实现
$.connection.hub.start().done(function () 
{
}); 

如何在wpf应用程序中实现这一点?

WPF应用程序是否有一个等价于$.connection.hub.start().done()的Javascript方法?

您可以像下面的代码一样通过异常来处理它:

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()