2013-08-02 41 views
1

我在Windows Phone 8應用程序中使用HttpClient調用json服務,獲取結果並將其顯示在當前頁面中。 要清楚,我已將調試器附加到iis,以查看httpclient何時進行調用。 問題是僅在第一次執行調用時,在從緩存中加載數據並且服務器未被再次調用之後執行調用。如何強制Windows Phone 8重新從服務器加載數據

這是我的按鈕和文本塊設計代碼:

<Button Content="Update" Click="ActualSession_Click"/> 
<TextBlock Name="MyTextBlock" TextWrapping="Wrap" HorizontalAlignment="Center"/> 

這是按鈕單擊代碼:

private async void ActualSession_Click(object sender, RoutedEventArgs e) 
     { 
      string site = "http://192.168.1.17:5465/MessagesWCF/Messages.svc/Test"; 
      MyTextBlock.Text = ""; 
      MyTextBlock.Text = await Execute(site); 
     } 

public async Task<string> Execute(string url) 
     { 
      var httpClient = new HttpClient(); 

      var request = await httpClient.GetAsync(new Uri(url, UriKind.RelativeOrAbsolute)); 
      var txt = await request.Content.ReadAsStringAsync(); 
      return txt; 
     } 

請幫我使按鈕重新調用服務器,並更新內容(每次調用服務器時都會給出不同的結果,以確保它已被調用)。 在此先感謝。

回答

2

這種情況的解決方法是不同的值追加到URL的每次調用查詢字符串:

string site = "http://192.168.1.17:5465/MessagesWCF/Messages.svc/Test?nocache=" + Guid.NewGuid(); 
相關問題