2013-05-08 29 views
0

有没有人有一个基于JQuery的客户端在SignalR Hub上调用基于异步任务的方法的工作示例?有关服务器端异步任务的示例,请参阅SignalR Doco中的以下代码。调用SignalR Async的JQuery示例任务

public Task<int> AsyncWork() 
    { 
     return Task.Factory.StartNew(() => 
     { 
      // Don't do this in the real world 
      Thread.Sleep(500); 
      return 10; 
     }); 
    } 
+0

请参阅http://www.asp。 net/signalr/overview/hubs-api/hubs-api-guide-server#asyncmethods – tdykstra 2013-05-08 21:00:52

回答

2

这里是在服务器一侧的例子 * *

public void AsyncWork() 
    { 

      // start working in a new thread 
      var task = Task.Factory.StartNew(() => dosomething()); 

    task.ContinueWith(t => 
            { 
             Caller.notifyResult(t.Result); 
          }); 

    } 


    private int dosomething() 
     { 
      int result =0; 
      return result; 
     } 

在客户端:

<script type="text/javascript"> 
// init hub 
var proxy = $.connection.signals; 

// declare response handler functions, the server calls these 
proxy.notifyResult = function (result) { 
    alert("the result was: " + result); 
}; 

// start the connection 
$.connection.hub.start(); 

// Function for the client to call 
function AsyncWork() { 
    proxy.AsyncWork(); 
} 
</script> 
+0

'// Function f或者客户端调用 函数AsyncWork(){ //需要camelCase proxy.asyncWork(); }' – 2017-03-23 17:37:44