localhost上的Gravatar默认图像缓存问题

时间:2013-04-22 02:45:40

标签: asp.net html caching browser-cache gravatar

我对gravatar有一个非常奇怪的问题。

我在example.com/image.jpg

上有一个公开默认图片

我在很久以前(超过一周前)在公共网站上更改了此图片。

从那时起,在localhost,当我开发网站时,我仍然看到旧的默认图像,但是当我在远程域上发布网站时,默认图像显示为正确的图像,新的之一。

我已多次清除浏览器缓存并在所有主流浏览器上尝试过。

任何人都知道为什么会发生这种情况?

这就是我创建网址的方式

 string defaultImg = HttpContext.Current.Server.UrlEncode("http://example.com/image.jpg");
 string URL = string.Format("http://www.gravatar.com/avatar/{0}?r=pg&s={1}&d={2}",hash,size,defaultImg);

然后请求头像

private bool makeAvatarRequest(string URL)
{
    try
    {
        WebRequest request = WebRequest.Create(URL);
        using (WebResponse response = request.GetResponse())
        {
            using (Stream responseStream = response.GetResponseStream())
            {
                displayImage(responseStream);
                return true;
            }
        }
    }
    catch (WebException ex)
    {
        return false;
    }
}

并显示图像

private void displayImage(Stream stream)
    {
        HttpContext.Current.Response.ContentType = "image/png";
        System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
        MemoryStream temp = new MemoryStream();
        img.Save(temp, ImageFormat.Png);
        byte[] buffer = temp.GetBuffer();
        HttpContext.Current.Response.OutputStream.Write(buffer, 0, buffer.Length);

        img.Dispose();
        temp.Dispose();
    }

0 个答案:

没有答案