public void RemoveScopedConnection(string connectionId)
        {
            if (string.IsNullOrWhiteSpace(connectionId))
            {
                return;
            }

            ConnectionScopes.TryGetValue(connectionId, out var scopeGroupId);
            if (scopeGroupId == null)
            {
                //find no scopeGroup, should never enter here
                return;
            }

            Scopes.TryGetValue(scopeGroupId, out var connDic);
            connDic?.Remove(connectionId);
        }
        public ScopedConnection GetScopedConnection(string connectionId)
        {
            ConnectionScopes.TryGetValue(connectionId, out var scopeGroupId);
            if (scopeGroupId == null)
            {
                //find no scopeGroup, should never enter here
                return(null);
            }

            Scopes.TryGetValue(scopeGroupId, out var connDic);
            if (connDic == null)
            {
                //find no connDic, should never enter here
                return(null);
            }

            connDic.TryGetValue(connectionId, out var conn);
            return(conn);
        }