2017-04-08 74 views
0

I'am使用SignalR處理一個小項目,我希望在應用程序啓動時將所有客戶端重定向到「site1」。如何使用SignalR/c重定向所有客戶端#

應用程序上的同一事物停止我希望在應用程序永久化之前將所有客戶端重定向到「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'); 
      }); 

     }); 
    }); 
+0

你總是迴歸真實......你有沒有想過這個邏輯? – mason

回答

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'); 
     }); 
}