internal void RefreshSessionAndClearCache(System.Guid userId) { var sessionPattern = IdUtils.CreateUrn <ServiceStack.Auth.IAuthSession>(string.Empty); //= urn:iauthsession: var sessionKeys = Cache.GetKeysStartingWith(sessionPattern).ToList(); if (sessionKeys.Any()) { var allSessions = Cache.GetAll <ServiceModel.Office.EsamSession>(sessionKeys); foreach (var ses in allSessions.Where(x => x.Value.UserIdGuid == userId)) { Repository.Cache.Remove($"sessions:{ses.Value.Id}:pfe:UserTenants"); if (ses.Value.AdminLevel != AdminLevel.SysAdmin) { ServerEvents.NotifySession(ses.Value.Id, new ServiceModel.Office.Dto.ContextChangedDto { Changed = true }); Request.RemoveSession(ses.Value.Id); } } } }