Esempio n. 1
0
 public static Image GetImageFromCache(string imageFileName, string email, int cacheDays,
                                       int imageSize, string imageCachePath, FallBackService fallBack)
 {
     try
     {
         if (cache == null)
         {
             cache = new DirectoryImageCache(imageCachePath); //or: new IsolatedStorageImageCache();
         }
         // If the user image is not cached yet, download it from gravatar and store it in the isolatedStorage
         if (!cache.FileIsCached(imageFileName) ||
             cache.FileIsExpired(imageFileName, cacheDays))
         {
             return(null);
         }
         if (cache.FileIsCached(imageFileName))
         {
             return(cache.LoadImageFromCache(imageFileName, null));
         }
     }
     catch (Exception ex)
     {
         //catch IO errors
         Trace.WriteLine(ex.Message);
     }
     return(null);
 }
Esempio n. 2
0
        public static void LoadCachedImage(string imageFileName, string email, Bitmap defaultBitmap, int cacheDays,
                                           int imageSize, string imageCachePath, Action <Image> onChangedImage,
                                           FallBackService fallBack)
        {
            try
            {
                if (cache == null)
                {
                    cache = new DirectoryImageCache(imageCachePath); //or: new IsolatedStorageImageCache();
                }
                // If the user image is not cached yet, download it from gravatar and store it in the isolatedStorage
                if (!cache.FileIsCached(imageFileName) ||
                    cache.FileIsExpired(imageFileName, cacheDays))
                {
                    onChangedImage(defaultBitmap);

                    GetImageFromGravatar(imageFileName, email, imageSize, fallBack);
                }
                if (cache.FileIsCached(imageFileName))
                {
                    onChangedImage(cache.LoadImageFromCache(imageFileName,
                                                            defaultBitmap));
                }
                else
                {
                    onChangedImage(defaultBitmap);
                }
            }
            catch (Exception ex)
            {
                //catch IO errors
                Trace.WriteLine(ex.Message);
            }
        }