C#WinForms从缓存中清除http映像

C#WinForms从缓存中清除http映像,c#,winforms,C#,Winforms,我的picture box出现了这个问题,它必须从web加载类别的图像,问题是当图像在服务器上更改时,它仍然加载缓存副本。Microsoft的“始终可用的E源代码”参考中可以看到,PictureBox类使用WebClient实例从服务器加载图像 如果未明确设置WebClient.CachePolicy属性(在PictureBox.Load中未设置),则使用WebRequest.DefaultCachePolicy 因此,根据您的应用程序,您可以选择以下方法之一: 在设置PictureBox.

我的picture box出现了这个问题,它必须从web加载类别的图像,问题是当图像在服务器上更改时,它仍然加载缓存副本。

Microsoft的“始终可用的E源代码”参考中可以看到,
PictureBox
类使用
WebClient
实例从服务器加载图像

如果未明确设置
WebClient.CachePolicy
属性(在PictureBox.Load中未设置),则使用
WebRequest.DefaultCachePolicy

因此,根据您的应用程序,您可以选择以下方法之一:

  • 在设置
    PictureBox.ImageLocation
    之前,清除此url的缓存。这一点在本文中进行了解释
  • 使用您自己的WebClient实例和set CachePolicy下载图像,并从下载的内容流初始化PictureBox,如

  • 全局更改
    WebRequest.DefaultCachePolicy
    (作为最后手段),例如

    WebRequest.DefaultCachePolicy=new-HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore)


希望这对您有所帮助。

Microsoft的“始终有用的源代码参考”中显示,
PictureBox
类使用
WebClient
实例从服务器加载图像

如果未明确设置
WebClient.CachePolicy
属性(在PictureBox.Load中未设置),则使用
WebRequest.DefaultCachePolicy

因此,根据您的应用程序,您可以选择以下方法之一:

  • 在设置
    PictureBox.ImageLocation
    之前,清除此url的缓存。这一点在本文中进行了解释
  • 使用您自己的WebClient实例和set CachePolicy下载图像,并从下载的内容流初始化PictureBox,如

  • 全局更改
    WebRequest.DefaultCachePolicy
    (作为最后手段),例如

    WebRequest.DefaultCachePolicy=new-HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore)


希望这会有帮助。

@rene我不希望它自动更改,如果您需要,我会得到一个类别列表,每个类别都有一个按钮,当您按下类别时,它会从服务器加载分配给该类别的图像,您可以从该应用程序手动更新图像,然而,当你点击一个类别的按钮,你已经改变了它的照片,它会显示旧照片,即使你重新启动应用程序,它会在5分钟左右后获取新照片…@rene我不希望它自动改变,如果你愿意,我会得到一个类别列表,每个类别都有一个按钮,当您按下类别时,它会从服务器加载分配给该类别的图像,您可以从此应用程序手动更新图像,而当您单击已更改其照片的类别的按钮时,它会显示旧照片,即使您重新启动应用程序,大约5分钟后,它将获取新照片…感谢您的路过,从internet explorer清除缓存没有为PictureBox清除缓存,因此我更改了DefaultCachePolicy,因为图像是应用程序中使用的唯一http请求。谢谢。谢谢你路过,从internet explorer清除缓存并没有为PictureBox清除缓存,因此我更改了DefaultCachePolicy,因为图像是应用程序中使用的唯一http请求。非常感谢。