使用我的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
});
});
Hub方法:
int i = 0;
public void BroadcastArray()
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
hubContext.Clients.All.broadcastArray(messageArr);
i = i + 1;
}
无论我多次调用方法i
总是返回1,我怎样才能阻止变量重置?有没有办法在集线器类中执行此操作,还是将变量存储在其他类中?我不太清楚如何解决这个问题。
答案 0 :(得分:1)
我要做的第一件事就是将它放在try / catch中,以查看它是否在它到达该行之前抛出错误。如果你的hubcontext没有正确返回,我可以默默地抛出异常。
其次,你的中心是一个静态类?如果没有看到你如何设置你的枢纽,很难说出可能出现的问题。