2014-09-23 97 views
0

樞紐代碼:Signalr 2.1.1 OnConnected不與客戶端回調甚至解僱

private readonly IHubContext<IMyHubClient> _context; 

    public MyHub(IHubContext<IMyHubClient> context) 
    { 
     _context = context; 
    } 

    public override Task OnConnected() 
    { 
     string userName = Context.User.Identity.Name; 
     string connectionId = Context.ConnectionId; 

     //some code to store connected user info 

     return base.OnConnected(); 
    } 

客戶端代碼:

 $.connection.myHub.client.connected = function() { alert('1'); }; 
     $.connection.myHub.client.disconnected = function() { alert('2'); }; 
     $.connection.hub.start() 
        .done(function(){ console.log('Now connected, connection ID=' + $.connection.hub.id); }) 
        .fail(function(){ console.log('Could not Connect!'); }); 

客戶端成功地連接到集線器和JS回調的工作。但服務器端OnConnected方法從不會觸發。可能是什麼問題?

回答

1

MyHub越來越構建?我doub't SignalR能夠提供IHubContext<IMyHubClient>參數。如果你添加一個無參數的構造函數或刪除現有的構造函數,你的代碼應該工作。

+0

我使用SignalR,移動測試我很久以前寫的,我更新的樞紐,從2.0到2.1,並寫了很多的變化,順便說一句,我有問題與網絡連接的用戶,所以我重寫大量的代碼,並更換用戶用非常簡單的代碼管理的一部分,我得到了什麼,現在,我的理解是,我的構造函數和的onConnect,不會得到要求的第二個用戶,一旦第一個用戶得到了連接:| – deadManN 2017-02-26 13:14:59