如何使用SignalR / c重定向所有客户端#

时间:2017-04-08 13:46:39

标签: c# asp.net signalr

我正在使用SignalR开展一个小项目,我想在应用程序启动时将所有客户端重定向到' site1'。

应用程序停止我想要将所有客户端重定向到' site2'在申请永久之前。

第一种情况很简单并且有效,因为首先要做的是调用集线器。

但是我很难找到一种方法来捕获服务器的onStop事件(在我的情况下是iisexpress.exe)

MyHub:

 public class MyHub : Hub 
    {

        public bool onStartShouldRedirect()
        {         
            return true;
        }

        public bool onStopShouldRedirect()
        {
            return true;
        }


    }

startup.cs:

public class Startup 
    {   
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();
        }
    }

index.aspx:

     var job = $.connection.myHub;
      $.connection.hub.start().done(function () {
          job.server.onStartShouldRedirect().done(function (data) {
              if (data) {
                  window.location.replace("http://site1.com");
              } 
              else
                  alert('ON START : Do not redirect');
          });

        // ????????????
          job.server.onStopShouldRedirect().done(function (data) {
              if (data) {
                  window.location.replace("http://site2.com");
              }
              else
                  alert('ON STOP : Do not redirect');
          });

      });
  });

1 个答案:

答案 0 :(得分:0)

您在寻找disconnected活动吗?

$.connection.hub.disconnected(function() { 
      job.server.onStopShouldRedirect().done(function (data) {
          if (data) {
              window.location.replace("http://site2.com");
          }
          else
              alert('ON STOP : Do not redirect');
      });
}