public void GetNewItemsAsList_EmptySessionData()
        {
            ChangeTrackingSessionStateItemCollection sessionItems = new ChangeTrackingSessionStateItemCollection();
            List <object> list = RedisUtility.GetNewItemsAsList(sessionItems);

            Assert.Equal(0, list.Count);
        }
Beispiel #2
0
        public void GetNewItemsAsList_WithNullSessionData()
        {
            ChangeTrackingSessionStateItemCollection sessionItems = new ChangeTrackingSessionStateItemCollection();

            sessionItems["key"]  = "val";
            sessionItems["key1"] = null;
            List <object> list = RedisUtility.GetNewItemsAsList(sessionItems);

            Assert.Equal(4, list.Count);
        }
 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);
 }