Example #1
0
        public bool TryGetState <T>(Guid stateId, out T state)
        {
            ISessionStateEntry entry = GetSessionStateEntry(stateId);

            if (entry == null)
            {
                state = default(T);
                return(false);
            }

            state = SerializationUtil.Deserialize <T>(entry.SerializedValue);
            return(true);
        }
Example #2
0
        public void RemoveState(Guid stateId)
        {
            ISessionStateEntry entry = GetSessionStateEntry(stateId);

            if (entry == null)
            {
                return;
            }

            using (Composite.Data.Transactions.TransactionsFacade.SuppressTransactionScope())
            {
                DataFacade.Delete(entry);
            }
        }
Example #3
0
        public void SetState <T>(Guid stateId, T value, DateTime expirationDate)
        {
            Verify.ArgumentNotNull(value, "value");
            Verify.ArgumentCondition(expirationDate != DateTime.MaxValue, "expirationDate", "Expiration date has to be achievable");
            Verify.ArgumentCondition(stateId != Guid.Empty, "stateId", "Guid.Empty isn't an exceptable value.");

            ISessionStateEntry entry = GetSessionStateEntry(stateId);

            if (entry == null)
            {
                AddState(stateId, value, expirationDate);
                return;
            }

            entry.SerializedValue = SerializationUtil.Serialize(value);
            entry.ExpirationDate  = expirationDate;

            using (new DataScope(PublicationScope.Unpublished))
                using (Composite.Data.Transactions.TransactionsFacade.SuppressTransactionScope())
                {
                    DataFacade.Update(entry);
                }
        }