/// <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); }
/// <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); }
/// <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); }