SendHubs.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Microsoft.AspNet.SignalR.Client;
  2. using System.Threading;
  3. namespace LeaRun.Util.SignalR
  4. {
  5. /// <summary>
  6. /// 版 本 6.1
  7. /// Copyright (c) 2013-2016 上海力软信息技术有限公司
  8. /// 创建人:陈彬彬
  9. /// 日 期:2016.05.23 15:48
  10. /// 发送信息给hubs
  11. /// </summary
  12. public static class SendHubs
  13. {
  14. /// <summary>
  15. /// 调用hub方法
  16. /// </summary>
  17. /// <param name="methodName"></param>
  18. public static void callMethod(string methodName, params object[] args)
  19. {
  20. var hubConnection = new HubConnection(LeaRun.Util.Config.GetValue("SignalRUrl"));
  21. IHubProxy ChatsHub = hubConnection.CreateHubProxy("ChatsHub");
  22. bool done = false;
  23. hubConnection.Start().ContinueWith(task =>
  24. {
  25. if (!task.IsFaulted)
  26. //连接成功调用服务端方法
  27. {
  28. ChatsHub.Invoke(methodName, args);
  29. done = true;
  30. }
  31. else
  32. done = true;
  33. });
  34. while (!done)
  35. {
  36. Thread.Sleep(100);
  37. }
  38. //结束连接
  39. hubConnection.Stop();
  40. }
  41. }
  42. }