コード例 #1
0
        public override Task OnConnectedAsync()
        {
            HttpContext      httpContext  = Context.GetHttpContext();
            string           userIdB64    = httpContext.Request.Query["userId"].ToString();
            string           userId       = ASCIIEncoding.ASCII.GetString(Convert.FromBase64String(userIdB64));
            string           connectionId = Context.ConnectionId;
            User             user         = _db.Users.Find(userId);
            UserConnectionId uci          = _db.UserConnectionIds.Find(userId);

            if (uci == null)
            {
                uci = new UserConnectionId {
                    User = user, ConnectionId = connectionId
                };
                _db.UserConnectionIds.Add(uci);
            }
            else
            {
                uci.ConnectionId = connectionId;
                var k = _db.Update(dbObjectEntity: uci);
            }
            _db.SaveChanges();
            return(base.OnConnectedAsync());
        }