//GetListKey ==================================================================================================
        public bool GetListKey(long fromIndex, int count, List <String> listKey)
        {
            lock (_object)
            {
                TClientInfo clientInfo = _setClient.getClient();
                if (!clientInfo.isOpen())
                {
                    clientInfo.doOpen();
                }
                if (!clientInfo.sureOpen())
                {
                    Thread.Sleep(1 * 100);
                    if (!clientInfo.sureOpen())
                    {
                        Console.WriteLine("Can't open");
                        return(false);
                    }
                }
                _aClient = (TStringBigSetKVService.Client)clientInfo.getClient();
                var getListKeyAsync = _aClient.getListKeyAsync(fromIndex, count);
                if (getListKeyAsync.IsCanceled || getListKeyAsync.IsFaulted)
                {
                    Console.WriteLine("getListKeyAsync.IsCanceled || getListKeyAsync.IsFaulted");
                    clientInfo.cleanUp();
                    return(false);
                }

                if (getListKeyAsync.Result.Count < 1)
                {
                    clientInfo.cleanUp();
                    return(false);
                }
                listKey = getListKeyAsync.Result;
                clientInfo.cleanUp();
                return(true);
            }
        }