Microsoft.Web.Redis.RedisUtility.GetNewItemsAsList C# (CSharp) Method

GetNewItemsAsList() public static method

public static GetNewItemsAsList ( Microsoft.Web.Redis.ChangeTrackingSessionStateItemCollection sessionItems ) : List
sessionItems Microsoft.Web.Redis.ChangeTrackingSessionStateItemCollection
return List
        public static List<object> GetNewItemsAsList(ChangeTrackingSessionStateItemCollection sessionItems)
        {
            List<object> list = new List<object>();
            foreach (string key in sessionItems.Keys)
            {
                list.Add(key);
                list.Add(GetBytesFromObject(sessionItems[key]));
            }
            return list;
        }

Usage Example

 private bool SetPrepare(ISessionStateItemCollection data, int sessionTimeout, out string[] keyArgs, out object[] valueArgs)
 {
     keyArgs   = null;
     valueArgs = null;
     if (data != null && data.Count > 0)
     {
         ChangeTrackingSessionStateItemCollection sessionItems = (ChangeTrackingSessionStateItemCollection)data;
         List <object> list = redisUtility.GetNewItemsAsList(sessionItems);
         if (list.Count > 0)
         {
             keyArgs      = new string[] { Keys.DataKey, Keys.InternalKey };
             valueArgs    = new object[list.Count + 2]; // this +2 is for first 2 values in ARGV that we will add now
             valueArgs[0] = list.Count + 2;
             valueArgs[1] = sessionTimeout;
             list.CopyTo(valueArgs, 2);
             return(true);
         }
     }
     return(false);
 }