今天在測試博客園新聞WP8.1客戶端的時候,發現電腦上浏覽的新聞已經更新了。但手機上的還沒更新,於是想到肯定是有bug了。於是建了一個Web測試項目,發現只有第一次發出了請求。一開始以為是MVVM的問題,後來才發現,原來是HttpClient這個類的問題。
HttpClient會對相同Uri的Get請求進行本地緩存。
解決方法:
1、在querystring上加上一個時間戳。
2、在創建HttpClient時,加一個Filter。
1 var filter = new HttpBaseProtocolFilter(); 2 filter.CacheControl.ReadBehavior = HttpCacheReadBehavior.MostRecent; 3 using (var client = new HttpClient(filter)) 4 { 5 var html = await client.GetStringAsync(); 6 }