2016-07-25 28 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没有正确返回,我可能会默默地抛出一个异常。

其次是你的枢纽静态类?没有看到你如何设置你的枢纽,很难说出错的可能性。