亦是美网络

致力于操作系统应用与计算机网络技术的IT网站。

站内搜索


推荐文章

C#编程学习之解决使用WebBrowser控件获取网页内容不能实时更新的问题

WebBrowser控件是一个.Net控件类,它具有多个实用的属性、方法和事件,使用它我们可以轻松的在窗体中展示网页内容,但许多喜欢C#编程的小伙伴们在使用WebBrowser控件获取网页内容时遇到了一个同样的问题,那就是不能实时的获取到网页内容,也就是说当网页的内容已经更新了,但是由于浏览器缓存的原因,WebBrowser控件展示的依然是更新前的内容,有的同学可能会想到,每次获取网页内容时清空一下浏览器缓存不就好了,其实这也是网上大多数人的答案,但是这样一来,不仅在代码实现上比较复杂,并且清空浏览器缓存也会影响到执行效果和性能问题,有点得不偿失了,其实还有一种更简单的方法供我们使用,那就是使用DateTime.Now.Ticks,下面亦是美网络就给大家展示一下代码示例吧!

通常情况下,我们使用WebBrowser控件获取网页内容都会这样写:

string url = "http://www.yishimei.cn";

webBrowser1.Navigate(url);

但是由于浏览器缓存的原因,同一个url链接,WebBrowser会直接调取浏览器缓存的内容,这样当原url网页内容更新时,WebBrowser展示的内容却不能实时更新,除非清空浏览器缓存。

网上很多同仁给出的方法是清理浏览器缓存,但这样一来就将问题复杂化了,并且在软件运行性能上也会受到影响,得不偿失。

如果我们使用一种方法,使得WebBrowser获取url网页内容时,每次让url本身都发生变化,这样WebBrowser每次都会把该url当成新的网址来处理。

那么怎样才能实现让url每次都不同呢,那就是使用时间,看代码:

string url = "http://www.yishimei.cn";

string time = DateTime.Now.Ticks.ToString();//获取当前时间并将其转换为最小的时间单位

string urlNew=url + @"/?=" + time; //相当于http://www.yishimei.cn/?=636495740151147361

webBrowser1.Navigate(urlNew);

因为当前时间是一直不断在变化的,所以WebBrowser每次获取的url也是不同的,而浏览器缓存导致的问题也就不存在了。

上一篇:一键系统备份/还原工具AOMEI OneKey Recovery Professional Edition v1.6.1的下载、安装与注册激活
下一篇:全球知名防毒软件ESET NOD32 Antivirus v11.0.159.0的下载、安装与许可证密钥注册激活教程

亦是美网络,成立于2012年12月5日,是一个致力于操作系统应用与计算机网络技术的综合IT网站,为大家不断提供和推荐有用的网络教程与技术。

本站文章归 亦是美网络 www.yishimei.cn 版权所有 豫ICP备12013471号-4 网站地图