2016-07-25 32 views
0

隨着我的SignalR程序,我讓我的客戶端調用服務器端方法。我的全局變量不能正常工作,所以我做了一個快速的小測試,我發現全局變量似乎每一次都會重置,我想知道我做錯了什麼,以及是否可以讓我的變量不被重置。SignalR變量正在復位

JavaScript方法:

$.connection.hub.start().done(function() { 
      $('#send').click(function() { 
       chat.server.send(0, document.getElementById("Name").value, document.getElementById("Content").value);//send eventually calls broadcastArray 

      }); 
     }); 

樞紐方法:

int i = 0; 
    public void BroadcastArray() 
    { 
     var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); 
     hubContext.Clients.All.broadcastArray(messageArr); 
     i = i + 1; 
    } 

無論多少次,我調用的方法i總是返回1,我怎麼能阻止被重置的變量?有沒有辦法在hub類中做到這一點,或者我會將我的變量存儲在不同的類中?我不太清楚如何去做這件事。

回答

1

我要做的第一件事就是把它放在try/catch中,看它是否在它到達該行之前拋出一個錯誤。如果您的hubcontext沒有正確返回,我可能會默默地拋出一個異常。

其次是你的樞紐靜態類?沒有看到你如何設置你的樞紐,很難說出錯的可能性。