/// <summary> /// 释放链接的时候 /// </summary> /// <param name="stopCalled"></param> /// <returns></returns> public override Task OnDisconnected(bool stopCalled) { if (Context.RequestCookies.ContainsKey("ClientUserId")) { var ClientUserId = Context.RequestCookies["ClientUserId"]; var user = new VisitorConnectUser(); VisitorOnlineUsers.TryRemove(ClientUserId.Value, out user); var serviceUser = new ServiceConnectUser(); ServiceOnlineUsers.TryRemove(ClientUserId.Value, out serviceUser); } return(base.OnDisconnected(stopCalled)); }
/// <summary> /// 客服 链接 /// </summary> /// <param name="user"></param> private async Task ServiceConnect(string ClientUserId) { //客服 链接 var user = new ServiceConnectUser() { ClientUserId = ClientUserId, ClientConnectionId = Context.ConnectionId, ServiceUserName = Context.RequestCookies["ClientUserName"].Value }; ServiceOnlineUsers.TryAdd(user.ClientUserId, user); await Clients.Caller.ConnecteResult("连接成功"); }