Exemple #1
0
        /// <summary>
        /// 加载参数
        ///     可以重写
        /// </summary>
        /// <returns></returns>
        public virtual bool LoadParams()
        {
            switch (ParamSourceType)
            {
            case AqiConstant.ParamSourceType.JSON:
                this.listParamCache   = AqiParam.CreateListFormJson(this, this.Tag, AqiParam.PARAMS);
                this.dtParamCacheTime = AqiParam.ReadWriteTimeFormJson(this);
                break;

            case AqiConstant.ParamSourceType.ISrcUrl:
                if (this is IParseSrcUrlParam)
                {
                    IParseSrcUrlParam ipp = this as IParseSrcUrlParam;
                    this.listParamCache   = AqiParam.CreateListFormSrcUrl(ipp, ipp.ParamSrcUrl);
                    this.dtParamCacheTime = DateTime.Now;
                }
                else
                {
                    throw new ParamException("参数来源类型(ISRCUrl)与接口(IParseParam)不匹配");
                }
                break;

            default:
                throw new ParamException("参数来源类型(ParamSourceType)未知");
            }
            //TODO
            //验证参数是否匹配ParamName


            return(true);
        }
Exemple #2
0
        /// <summary>
        /// 检查过期
        ///     可以重写
        /// </summary>
        /// <remarks>
        /// 判断是否需要重新设置Cookie
        /// </remarks>
        /// <returns>true过期;false未过期</returns>
        public override bool IsParamsExpired()
        {
            if (ParamCache == null || ParamCache.Count == 0)
            {
                return(true);
            }
            IParseSrcUrlParam ipp          = this as IParseSrcUrlParam;
            AqiParam          dsidAqiParam = AqiParam.CreateListFormSrcUrl(ipp, ipp.ParamSrcUrl)[0];

            HttpData data = ((ICacheData)ipp.ParamSrcUrl).Data;

            if (data.Header.ContainsKey("Set-Cookie"))
            {
                return(true);
            }
            return(false);
        }
Exemple #3
0
        /// <summary>
        /// 加载参数
        ///     可以重写
        /// </summary>
        /// <remarks>
        /// 获取DSId与Cookie
        /// </remarks>
        /// <returns></returns>
        public override bool LoadParams()
        {
            bool result = base.LoadParams();

            if (result)
            {
                IParseSrcUrlParam ipp          = this as IParseSrcUrlParam;
                AqiParam          dsidAqiParam = AqiParam.CreateListFormSrcUrl(ipp, ipp.ParamSrcUrl)[0];
                HttpData          data         = ((ICacheData)ipp.ParamSrcUrl).Data;

                foreach (AqiParam param in ParamCache)
                {
                    param["DSId"] = dsidAqiParam["DSId"];
                    if (data.Header.ContainsKey("Set-Cookie"))
                    {
                        param.Header["Cookie"] = data.Header["Set-Cookie"];
                    }
                }
            }

            return(result);
        }