Beispiel #1
0
        /// <summary>
        /// 连接到redisServer
        /// </summary>
        public void Connect()
        {
            lock (_syncLocker)
            {
                if (!IsConnected)
                {
                    var autoResetEvent = new AutoResetEvent(false);

                    _cnn.ConnectAsync((s) =>
                    {
                        if (s == System.Net.Sockets.SocketError.Success)
                        {
                            IsConnected = true;
                        }
                        autoResetEvent.Set();
                    });
                    var result = autoResetEvent.WaitOne(10 * 1000);
                    if (!result || !IsConnected)
                    {
                        _cnn.Disconnect();
                        throw new Exception("无法连接到redis server!");
                    }
                }
            }
        }