// BsGetSlice get all
        public bool BsGetSlice(string bsKey, ref TItemSetResult itemSetResult)
        {
            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 getTotalCountAsync = _aClient.getTotalCountAsync(bsKey);
                if (getTotalCountAsync.IsCanceled || getTotalCountAsync.IsFaulted)
                {
                    Console.WriteLine("getTotalCountAsync.IsCanceled || getTotalCountAsync.IsFaulted");
                    clientInfo.cleanUp();
                    return(false);
                }
                long totalCount = getTotalCountAsync.Result;
                //Console.WriteLine("Count "+totalCount);
                int count = Convert.ToInt32(totalCount);
                if (count < 1)
                {
                    clientInfo.cleanUp();
                    return(false);
                }
                var bsGetSliceRAsync = _aClient.bsGetSliceRAsync(bsKey, 0, count);
                if (bsGetSliceRAsync.IsCanceled || bsGetSliceRAsync.IsFaulted)
                {
                    Console.WriteLine("bsGetSliceRAsync.IsCanceled || bsGetSliceRAsync.IsFaulted");
                    clientInfo.cleanUp();
                    return(false);
                }
                itemSetResult = bsGetSliceRAsync.Result;

                clientInfo.cleanUp();
                return(true);
            }
        }
        //g// GetTotalCount return number item of bskey
        public bool GetTotalCount(string bsKey, ref long count)
        {
            lock (_object)
            {
                count = 0;
                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 getTotalCountAsync = _aClient.getTotalCountAsync(bsKey);
                if (getTotalCountAsync.IsFaulted || getTotalCountAsync.IsCanceled)
                {
                    Console.WriteLine("getTotalCountAsync.IsFaulted");
                    clientInfo.cleanUp();
                    return(false);
                }

                long totalCount = getTotalCountAsync.Result;
                if (totalCount < 1)
                {
                    clientInfo.cleanUp();
                    return(false);
                }
                count = totalCount;
                clientInfo.cleanUp();
                return(true);
            }
        }