我的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