2014-02-06 4 views
0

У меня есть приложения на WP8, он содержит изображения, загруженные с сервера. Картинки меняются на сервере, но имеют одинаковое имя и одинаковый URL. После изменения телефон по-прежнему отображает предыдущие снимки. Как решить эту проблему.Обновить изображение с таким же именем

ответ

0

Это связано с встроенным кэшированием ресурсов, которое затрагивает как удаленные запросы, так и запросы локальных ресурсов изображения в вашем приложении. При объявлении разметки управления изображением вы можете отключить кеширование, создав его исходное свойство вручную. Например:

<Image> 
    <Image.Source> 
     <BitmapImage UriSource="{Binding ContentPath}" 
        CreateOptions="IgnoreImageCache" /> 
    </Image.Source> 
</Image> 
+0

I пытался не работать – user3280075

0

Ну, телефон кэширует загружаемые изображения. Если вы хотите установить новое изображение, вам нужно «очистить» источник изображения. Ваши вопросы не дают мне inave информацию, но от того, что я понимаю, один простой преобразователь должен сделать трюк:

public class CacheImageConverter : IValueConverter 
    {  
     public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      string path = value as string; 
      Uri imageFileUri = new Uri(path, UriKind.Absolute); 
      BitmapImage bm = new BitmapImage(imageFileUri); 
      return bm; 
      } 

     public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 
    } 

XML

<phone:PhoneApplicationPage.Resources> 
    <imgConv:CacheImageConverter x:Key="ConvertNew" /> 
</phone:PhoneApplicationPage.Resources> 

...

<Image Source="{Binding strPath, Converter={StaticResource ConvertNew}}"/> 
+0

Это ничего не делает. Проблема связана с кэшированием и запросом на тот же URL. Либо веб-сервер должен выдавать более информативные директивы кэширования, либо телефон должен игнорировать его кеш. Этот код по-прежнему будет выводить ресурс кэшированного изображения. – lsuarez

+0

моей идеей является создание нового экземпляра, я уверен, что он будет работать –

+1

.htaccess/expires headers решили проблему – user3280075

Смежные вопросы