当进行Web请求时,如果请求地址与前一样相同,系统不会真正的去访问服务器请求数据,而是直接返回“Magic Cache”中的缓存结果,明显我们并不希望这样。此问题的最简单解决方法是08年提出的,将一个新的GUID作为请求页面的参数,使每次构造的网址都是唯一的。
我加入了一个这样的方法,在每次创建URI之前调用,使它被插入一个GUID:
private static Uri CreateMagicUriString(Uri uri) { var ub = new UriBuilder(uri); var queryToAppend =Guid.NewGuid().ToString(); if (ub.Query.Length > 1) { ub.Query = ub.Query.Substring(1) + "&" + queryToAppend; } else { ub.Query = queryToAppend; } return ub.Uri; }