SignalR 变量正在重置
SignalR Variables are being Reset
使用我的 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,我怎样才能阻止变量被重置?有没有办法在集线器 class 中执行此操作,或者我会将我的变量存储在不同的 class 中?我不太确定该怎么做。
我要做的第一件事是将它放在 try/catch 中,看看它在到达该行之前是否抛出错误。如果您的 hubcontext 没有正确返回,我可能会默默地抛出异常。
其次,您的集线器是静态集线器吗class?没有看到您是如何设置集线器的,很难说出哪里出了问题。
使用我的 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,我怎样才能阻止变量被重置?有没有办法在集线器 class 中执行此操作,或者我会将我的变量存储在不同的 class 中?我不太确定该怎么做。
我要做的第一件事是将它放在 try/catch 中,看看它在到达该行之前是否抛出错误。如果您的 hubcontext 没有正确返回,我可能会默默地抛出异常。
其次,您的集线器是静态集线器吗class?没有看到您是如何设置集线器的,很难说出哪里出了问题。