Beispiel #1
0
        public void Test_ToEnum()
        {
            var result = new GetOperationResult();

            result.StatusCode = 2;

            Assert.AreEqual(StatusCode.KeyExists, result.StatusCode.ToEnum());
        }
        public static IGetOperationResult <T> ExecuteGetJson <T>(this ICouchbaseClient client, string key) where T : class
        {
            var result = client.ExecuteGet <string>(key);
            var retVal = new GetOperationResult <T>();

            result.Combine(retVal);
            retVal.Cas = result.Cas;

            if (!result.Success)
            {
                return(retVal);
            }
            retVal.Value = DeserializeObject <T>(key, result.Value);
            return(retVal);
        }
        public virtual IGetOperationResult <T> Get(string key)
        {
            var jsonResult = _Client.ExecuteGet <string>(key);
            var retval     = new GetOperationResult <T>();

            jsonResult.Combine(retval);

            if (jsonResult.HasValue)
            {
                retval.Value    = JsonConvert.DeserializeObject <T>(jsonResult.Value);
                retval.Value.Id = key;                 //_id is not stored in document, generic view merges it into JSON on return
            }

            return(retval);
        }
Beispiel #4
0
        protected override IGetOperationResult CreateResult(BinaryResponse response)
        {
            var retval = new GetOperationResult();

            if (response == null)
            {
                return(retval.NotFound(this));
            }

            if (response.StatusCode == 0)
            {
                var flags = NetworkOrderConverter.DecodeUInt32(response.Extra.Array, 0);

                retval.Value = new CacheItem((uint)flags, response.Data.Clone());
            }

            return(retval.WithResponse(response));
        }
        public static IGetOperationResult <T> ExecuteGetJson <T>(this ICouchbaseClient client, string key) where T : class
        {
            var result = client.ExecuteGet <string>(key);
            var retVal = new GetOperationResult <T>();

            result.Combine(retVal);
            retVal.Cas = result.Cas;

            if (!result.Success)
            {
                return(retVal);
            }

            var json = DocHelper.InsertId(result.Value, key);
            var obj  = JsonConvert.DeserializeObject <T>(json);

            retVal.Value = obj;
            return(retVal);
        }
        protected override IGetOperationResult CreateResult(BinaryResponse response)
        {
            var retval = new GetOperationResult();

            if (response == null)
            {
                return(retval.NotFound(this));
            }

            if (response.StatusCode == 0)
            {
                var flags = NetworkOrderConverter.DecodeInt32(response.Extra.Array, 0);
                // HACK
                var copy = new PooledSegment(Allocator, response.Data.Count);
                Buffer.BlockCopy(response.Data.Array, response.Data.Offset, copy.Array, 0, copy.Count);
                retval.Value = new CacheItem((uint)flags, copy);
            }

            return(retval.WithResponse(response));
        }
        /// <summary>
        /// Gets the cache client response.
        /// </summary>
        /// <typeparam name="T">Return value type.</typeparam>
        /// <param name="key">The key.</param>
        /// <returns>A task that represents the asynchronous operation.
        /// Returns the cache client response.</returns>
        private async Task <CacheClientResponse> GetCacheClientResponse <T>(string key)
        {
            CacheException exception = null;
            object         result    = null;

            GetOperationResult <string> valueResult = await this.client.GetAsync <string>(key) as GetOperationResult <string>;

            if (valueResult.Success)
            {
                result = typeof(T) == typeof(string)
                    ? valueResult.Value
                    : (object)this.cacheSerializer.Deserialize <T>(valueResult.Value);
            }
            else
            {
                exception = new CacheException(valueResult.Message, valueResult.Exception);
            }

            return(new CacheClientResponse(result, exception));
        }
Beispiel #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            btnstuff.Click += (s, args) =>
            {
                var melClient = new SmtpClient();
                melClient.Send("*****@*****.**", "*****@*****.**", "Bienvenue tygogoz", "contenu de test");
            };

            btnTestCache.Click += (s, args) =>
            {
                MemcachedClient mc = new MemcachedClient();
                if ((DateTime.Now - LastTime) > TimeSpan.FromSeconds(10))
                {
                    LastTime = DateTime.Now;
                    StoreOperationResult storeResults = (StoreOperationResult)mc.ExecuteStore(StoreMode.Set, "foo", LastTime.ToLongTimeString());
                }
                GetOperationResult getResults = (GetOperationResult)mc.ExecuteGet("foo");

                lblTestCache.Text = getResults.Value.ToString();
            };
        }