/// <summary>
        /// The download image.
        /// </summary>
        /// <param name="imageUrl">The image url.</param>
        /// <param name="image">The image.</param>
        /// <param name="imageCacheItem">The image cache item.</param>
        public static void DownloadImage(string imageUrl, BitmapImage image, ImageCacheItem imageCacheItem)
        {
            var filename = CreateUniqueFilename(imageUrl);
            imageCacheItem.LocalFilename = filename;

            var asyncDataTransfer = new AsyncDataTransfer
            {
                ImageCacheItem = imageCacheItem,
                Image = image
            };

            var httpWebRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
            if (imageCacheItem.ImageId != null)
            {
                httpWebRequest.Headers["If-None-Match"] = imageCacheItem.ImageId;
            }

            asyncDataTransfer.Request = httpWebRequest;

            httpWebRequest.BeginGetResponse(RequestCallback, asyncDataTransfer);
        }
Beispiel #2
0
        /// <summary>
        /// The download image.
        /// </summary>
        /// <param name="imageUrl">The image url.</param>
        /// <param name="image">The image.</param>
        /// <param name="imageCacheItem">The image cache item.</param>
        public static void DownloadImage(string imageUrl, BitmapImage image, ImageCacheItem imageCacheItem)
        {
            var filename = CreateUniqueFilename(imageUrl);

            imageCacheItem.LocalFilename = filename;

            var asyncDataTransfer = new AsyncDataTransfer
            {
                ImageCacheItem = imageCacheItem,
                Image          = image
            };

            var httpWebRequest = (HttpWebRequest)WebRequest.Create(imageUrl);

            if (imageCacheItem.ImageId != null)
            {
                httpWebRequest.Headers["If-None-Match"] = imageCacheItem.ImageId;
            }

            asyncDataTransfer.Request = httpWebRequest;

            httpWebRequest.BeginGetResponse(RequestCallback, asyncDataTransfer);
        }