// BsRemoveItem remove item by bskey and itemkey
        public bool BsRemoveItem(string bsKey, string key)
        {
            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();
                TItem item = new TItem();
                if (BsGetItem(bsKey, key, ref item) == false)
                {
                    Console.WriteLine("Item not exists");
                    return(false);
                }
                var bsRemoveItemAsync = _aClient.bsRemoveItemAsync(bsKey, Encoding.ASCII.GetBytes(key));
                if (bsRemoveItemAsync.IsCanceled || bsRemoveItemAsync.IsFaulted)
                {
                    clientInfo.cleanUp();
                    return(false);
                }
                clientInfo.cleanUp();
                return(true);
            }
        }