天天看點

Windows.Web.Http.HttpClient.GetStringAsync 總是傳回相同的結果

今天在測試部落格園新聞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 }      

繼續閱讀