Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 本地主机上的Gravatar默认映像缓存问题_Asp.net_Html_Caching_Browser Cache_Gravatar - Fatal编程技术网

Asp.net 本地主机上的Gravatar默认映像缓存问题

Asp.net 本地主机上的Gravatar默认映像缓存问题,asp.net,html,caching,browser-cache,gravatar,Asp.net,Html,Caching,Browser Cache,Gravatar,我对gravatar有一个很奇怪的问题 我在example.com/image.jpg 我很久以前(一个多星期前)在公共网站上更改了这张图片 从那时起,在localhost上,当我开发网站时,仍然会看到旧的默认图像,但是当我在远程域上发布网站时,默认图像显示为正确的图像,即新图像 我已多次清除浏览器缓存,并在所有主要浏览器上进行了尝试 有人知道为什么会这样吗 这就是我创建url的方式 string defaultImg = HttpContext.Current.Server.UrlEncod

我对gravatar有一个很奇怪的问题

我在
example.com/image.jpg

我很久以前(一个多星期前)在公共网站上更改了这张图片

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

我已多次清除浏览器缓存,并在所有主要浏览器上进行了尝试

有人知道为什么会这样吗

这就是我创建url的方式

 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();
    }