예제 #1
0
        public async Task <UserViewModel> GetUserDistributed()
        {
            var bytes = await _distributedCache.GetAsync("user");

            var user = SerializationUtilities.Deserialize <UserViewModel>(bytes);

            if (user == null)
            {
                user = new UserViewModel
                {
                    Id      = 1,
                    Name    = "Shahid",
                    Email   = "*****@*****.**",
                    Address = "Dhaka"
                };

                var data = SerializationUtilities.Serialize(user);
                if (data != null)
                {
                    await _distributedCache.SetAsync("user", data, new DistributedCacheEntryOptions
                    {
                        AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(5)
                    });
                }
            }
            return(user);
        }
예제 #2
0
        string GetString(byte[] data)
        {
            if (!canDeserialize)
            {
                return(string.Empty);
            }

            if (data == null)
            {
                return(string.Empty);
            }

            if (!string.IsNullOrEmpty(SerializationUtilities.Deserialize(data, out object obj)))
            {
                return(string.Empty);
            }

            return(SerializationUtilities.ConvertObjectToString(obj));
        }