关于C#中WebClient调用REST服务,缓存问题的解决方案

一、问题描述

通过WebClient类调用REST方法时,由于缓存的问题,会导致获取到的Http-Get信息不能实时更新,但是有在WebClient类中没有找到合适的方案去清楚缓存。这对于要及时获取平台实时数据来说确实很棘手。

二、解决方案

通过动态生成WebClient的Url来解决缓存的问题,并且能保证每次获取到的信息是最新的。
1、若url字符串中没有“?”字符串,那么可以在原url字符串后面加上字符串“?”+随机数;
2、若url字符串中本身含有“&”字符串,那么可以在原url字符串后面加上字符串“&”+随机数;

三、代码示例

	/// <summary>
        /// 生成动态url
        /// </summary>
        /// <param name="uri">原始url</param>
        /// <param name="ch">需要追加的符号:"?"或者"&"</param>
        /// <returns></returns>
        public static string GetRandomUri(string uri,string ch)
        {
            Random rd = new Random();
            string rdStr = rd.Next(10).ToString() + rd.Next(10).ToString() + rd.Next(10).ToString();
            string rdUri = uri + ch + rdStr;
            return rdUri;
        }


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值