我的SignalR聊天应用程序在本地机器上工作得很好,但是当在服务器上托管时,很少有方法在有时没有响应。我搜索了它的次数,并找到与此相关的解决方案。聊天应用程序在本地完美工作,但在服务器上没有正确响应 - signalr 2.2.1
ConnectionTimeout
DisconnectTimeout
保持活动
这里是我的内轮毂
public class ChatHub : Hub
{
static List<User> connectedusers = new List<User>();
string time = DateTime.Now.ToShortTimeString();
public void Connect(string Name)
{
var conId = Context.ConnectionId;
if (Name != null)
{
connectedusers.Add(new User { ConId = conId, Name = Name });
}
if (connectedusers.Count > 1)
{
List<User> onlineUserlst = new List<User>();
onlineUserlst = (from a in connectedusers
where a.ConId != conId
select a).ToList();
Clients.Caller.alertOnlineToSelf(onlineUserlst, time);
Clients.Others.alertOnlineOthers(Name, time,conId);
}
}
}
代码在这里,名称是一个用户在进入提示对话框时进入并进行提醒在线自动提醒& alertOnlineOther是在线用户列表被添加到侧边栏中的客户端的方法。当一些人在30秒内上线时,服务器上的东西就在这里,alertOnlineToSelf & alertOnline其他方法被调用,但是如果在30秒或更多时间后同样上网,则其他方法被调用该人,但调用者方法仅被调用在过去30秒内在线的所有在线人员都不在线,尽管我通过了所有在线用户的列表。
,所以我做出Global.asax文件
protected void Application_Start()
{
GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(800000);
GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(600000);
GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(200000);
...
}
这种变化使这些变化在启动文件没有显示效果都没有,所以我在Global.asax中添加此配置。但这没有帮助。 如果有人有这方面的解决方案,请回复。 在此先感谢。
您必须提供更多信息。什么方法?什么时候?发生了什么?错误? –
P.S.我更新了邮报。感谢您宝贵的时间。 – Divya
将随机超时更改为随机值从来就不是一个好主意。 – Pawel