public bool BsgPutItem(string key, TItem item)
        {
            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 bsPutItemAsync = _aClient.bsPutItemAsync(key, item);

                if (bsPutItemAsync.IsCompleted == false)
                {
                    bsPutItemAsync.Wait();
                    if (bsPutItemAsync.IsCompleted == false)
                    {
                        return(false);
                    }
                }

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