Пример #1
0
        /// <summary>
        /// <paramref name="stateEntity"/> 정보를 파싱하여 원본 Page 상태정보를 빌드합니다.
        /// </summary>
        /// <param name="stateEntity"></param>
        /// <param name="compressor"></param>
        /// <param name="pageState"></param>
        /// <returns></returns>
        public static bool TryParseStateEntity(IPageStateEntity stateEntity, ICompressor compressor, out object pageState)
        {
            if (IsDebugEnabled)
            {
                log.Debug("상태 정보를 파싱합니다...");
            }

            pageState = null;
            if (stateEntity == null)
            {
                return(false);
            }

            bool result;

            try {
                if (stateEntity.Value != null)
                {
                    if (IsDebugEnabled)
                    {
                        log.Debug("저장된 상태 정보(stateEntity)의 값이 존재합니다. 값을 로드합니다... entity Id=[{0}]", stateEntity.Id);
                    }

                    var bytes = (stateEntity.IsCompressed)
                                    ? compressor.Decompress(stateEntity.Value)
                                    : stateEntity.Value;

                    pageState = Serializer.Deserialize(bytes);
                }
                result = (pageState != null);
            }
            catch (Exception ex) {
                if (log.IsWarnEnabled)
                {
                    log.Warn("State 정보를 파싱하는데 실패했습니다. stateEntity=[{0}]", stateEntity);
                    log.Warn(ex);
                }

                result = false;
            }

            if (IsDebugEnabled)
            {
                log.Debug("저장된 상태 정보를 로드했습니다. 결과=[{0}], StateEntity=[{1}]", result, stateEntity);
            }

            return(result);
        }
Пример #2
0
        /// <summary>
        /// <paramref name="stateEntity"/> 정보를 파싱하여 원본 Page 상태정보를 빌드합니다.
        /// </summary>
        /// <param name="stateEntity"></param>
        /// <param name="compressor"></param>
        /// <param name="pageState"></param>
        /// <returns></returns>
        public static bool TryParseStateEntity(IPageStateEntity stateEntity, ICompressor compressor, out object pageState) {
            if(IsDebugEnabled)
                log.Debug("상태 정보를 파싱합니다...");

            pageState = null;
            if(stateEntity == null)
                return false;

            bool result;
            try {
                if(stateEntity.Value != null) {
                    if(IsDebugEnabled)
                        log.Debug("저장된 상태 정보(stateEntity)의 값이 존재합니다. 값을 로드합니다... entity Id=[{0}]", stateEntity.Id);

                    var bytes = (stateEntity.IsCompressed)
                                    ? compressor.Decompress(stateEntity.Value)
                                    : stateEntity.Value;

                    pageState = Serializer.Deserialize(bytes);
                }
                result = (pageState != null);
            }
            catch(Exception ex) {
                if(log.IsWarnEnabled) {
                    log.Warn("State 정보를 파싱하는데 실패했습니다. stateEntity=[{0}]", stateEntity);
                    log.Warn(ex);
                }

                result = false;
            }

            if(IsDebugEnabled)
                log.Debug("저장된 상태 정보를 로드했습니다. 결과=[{0}], StateEntity=[{1}]", result, stateEntity);

            return result;
        }
Пример #3
0
 public bool Equals(IPageStateEntity other) {
     return (other != null) && GetHashCode().Equals(other.GetHashCode());
 }
Пример #4
0
 public bool Equals(IPageStateEntity other)
 {
     return((other != null) && GetHashCode().Equals(other.GetHashCode()));
 }