2013-05-15 159 views
0

我一直在使用SignalR和MVC4幾周,並且在簡單設置方面大部分都取得了成功。使用一個頁面設置和一個集線器從服務器發送消息到所有客戶端時,我沒有任何問題。似乎無法在SignalR中調用服務器方法

我正在開發的當前項目中,我試圖使用組,所以在開始客戶端連接之後,我嘗試打電話給服務器。

在我_Layout.cshtml

var dashboardhub; 
    $(document).ready(function() { 
     dashboardhub = $.connection.dashboardHub; 

     dashboardhub.client.connect = function() { }; 
     window.hubReady = $.connection.hub.start(); 
}); 
我Index.cshtml

window.hubReady.done(function() { 
      dashboardhub.server.addGroup('@ViewContext.RouteData.Values["area"].ToString()'); 
     }).fail(function() { 
      console.log('connection failed'); 
     }); 

在我DashboardHub類

public class DashboardHub : Hub {   

    /// <summary> 
    /// Constructor 
    /// </summary> 
    public DashboardHub() {    

    } 

    public void AddGroup(string group) {    
     this.Groups.Add(Context.ConnectionId, group);    
    } 
} 

當dashboardhub.server.addGroup客戶端上發射我從來沒有看到它打到服務器方法AddGroup。這顯然使創建組很困難。

這很可能我錯過了一些東西,但我不完全確定它可能是什麼。任何指針將非常感激。

編輯:抱歉的無意義的職位。中心構造函數中有一些拋出異常的東西,但它不是很明顯。顯然它不在我發佈的代碼中,但基本上,我在構造函數中爲null的對象上添加了一個PropertyChanged事件處理程序。這基本上打破了整個集線器,它不允許服務器呼叫。

+0

回答你自己的問題,並將其標記爲已回答。 –

+0

我會在幾個小時內讓我這樣做,當我被允許 – SnareHanger

回答

1

對不起,沒有意義的帖子。中心構造函數中有一些拋出異常的東西,但它不是很明顯。顯然它不在我發佈的代碼中,但基本上,我在構造函數中爲null的對象上添加了一個PropertyChanged事件處理程序。這基本上打破了整個集線器,它不允許服務器呼叫。

相關問題