//BsGetSliceFromPos=============================================================================================
        public bool BsGetSliceFromPos(string bsKey, int fromPos, int count, ref TItemSetResult tItemSetResult)
        {
            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 bsGetSlice = _aClient.bsGetSliceAsync(bsKey, fromPos, count);
                if (bsGetSlice.IsCanceled || bsGetSlice.IsFaulted)
                {
                    Console.WriteLine("bsGetSlice.IsCanceled || bsGetSlice.IsFaulted");
                    clientInfo.cleanUp();
                    return(false);
                }

                if (bsGetSlice.Result.Items.Items.Count < 1)
                {
                    clientInfo.cleanUp();
                    return(false);
                }
                tItemSetResult = bsGetSlice.Result;

                clientInfo.cleanUp();
                return(true);
            }
        }