Windows Phone 8.1镜像异步不更新

本文关键字:异步 更新 镜像 Phone Windows | 更新日期: 2023-09-27 17:51:14

我正在尝试从web服务器异步读取图像。I第一次工作,但在下一次调用后,图像只是闪烁,什么也没发生。

我尝试了其他方法,但得到了相同的结果。

如何正确更新图像?

public async void ReadNextPhoto(Image image)
    {
        // getimage returns a random string with the image url
        var uri = new Uri("http://example.com/getimage.php");
        var httpClient = new HttpClient();
        // Always catch network exceptions for async methods
        try
        {
            var result = await httpClient.GetStringAsync(uri);
            var bi = new BitmapImage(new Uri(result));
            image.Source = bi;
        }
        catch
        {
            // Details in ex.Message and ex.HResult.       
        }
    }

谢谢你,乔纳森。

编辑:来自getimage.php的答案是一个包含实际图像的字符串example.com/random_image_01.jpg

Edit2:问题是在httpClient,它总是返回相同的字符串。缓存可能吗?

Windows Phone 8.1镜像异步不更新

HttpClient默认启用缓存。据我所知,摆脱它的唯一方法是传递一个随机参数,所以它看起来像一个不同的请求,它已经不存在于缓存中。

var uri = new Uri("http://example.com/getimage.php?no-cache=" & DateTime.Now.Ticks.ToString());