YTKNetwork icon indicating copy to clipboard operation
YTKNetwork copied to clipboard

FIX: When 'request.baseUrl' changed, the cache is still valid.

Open dxxxp opened this issue 8 years ago • 6 comments

子类重写的baseUrl方法返回值变化时,缓存未失效。 场景:测试环境和生产环境切换

dxxxp avatar Feb 24 '17 02:02 dxxxp

@SeveX baseUrl 为什么不直接用 sharedConfig 设置, 想在测试环境和生产环境之间切换的时候直接修改 sharedConfig 的设置就可以了, 写到子类中反而让事情变复杂了

Huang-Libo avatar Feb 24 '17 07:02 Huang-Libo

后端有多套系统,多个域名。唉,说多了全是泪。。。

dxxxp avatar Feb 24 '17 08:02 dxxxp

那要切环境的话, 也只能同时使用一个环境吧, 如果个别接口需要使用另一个环境, 直接在子类的 requestUrl 方法里写完整的url即可.

Huang-Libo avatar Feb 24 '17 08:02 Huang-Libo

@skyline75489 感觉这里的确有问题:

理论上为了保证缓存唯一命中,应该以最终 build 出来 url 为 key,不单是拼接 baseUrl,还有 urlFilters 按说也应当算作缓存的一部分; 不过有一些特例 urlFilters 又应当排除在外,比如 全局参数 和 随时间变化的 token;

lancy avatar Feb 24 '17 11:02 lancy

确实这里考虑的不是特别全面,有改善空间

skyline75489 avatar Feb 26 '17 07:02 skyline75489

@SheikahPlate 大兄弟 ,多个域名,有啥比较好的解决方式?

anru1314 avatar Dec 15 '17 05:12 anru1314