- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我希望我能在这里更具体,但不幸的是这可能很难。我基本上希望这是一些“众所周知”的超时或设置问题。
我们有一个网站在工厂的屏幕上运行(JS/html - ASP.net 项目)网站概览。这个屏幕没有键盘,所以它应该永远刷新页面——也许几年(虽然 1 周可能没问题)。(工厂 worker 使用它来查看进站运输等)
这一切都很完美;该站点不断 self 更新并获取新的正确数据。然后,有时候,在早上这个“概览”屏幕上没有数据,工作人员必须使用简单的刷新按钮或 F5 手动刷新站点 - 这可以解决所有问题。
我尝试了一些尝试自己重现错误的方法,包括:
无论如何;一旦我再次插入互联网电缆或其他任何东西,该网站就会恢复正常功能而无需刷新 - 我无法重现该错误。
该网站依赖于后端 WCF 服务和项目集成,但由于工作人员正在通过简单的刷新修复此问题,我假设它没有崩溃。
编辑:我试图重现错误的浏览器是 IE/win7。明天问工厂,我猜是IE/win?还有。
setInterval 实际上是无限的还是这里有其他问题?
非常感谢所有帮助。
更新:今天早上,我让网站在 Debug模式下运行,并在网站更新代码的 catch 子句中设置了一个断点。有 2 分钟。超时错误(可能在夜间忙于服务器清理)然后永远在此行出现空引用错误:
var showHistory = (bool)Session.Contents["ShowHistory"];
我像 worker 一样用刷新修复了它。我现在认为这可能是 session 超时,尽管我们一直在对服务器执行 ping 操作。当然,我的特定 session 超时可能是由于断点导致它在第一次超时时永远挂起 - 行为仍然与工厂相同。稍后我会确保向你们更新最终解决方案。
更新 2:测试正在进行中。
更新 3:工厂是 IE 9,他们的测试机器是 IE 7,我的机器是 IE 9。在周末运行后,IE7 上出现错误,但我的 IE9 上没有。我们尝试在我们的关键数据绑定(bind)代码中关闭 ajax 缓存,但它什么也没做。我测试了内存泄漏,如果我每分钟刷新 100 次,就能够产生不错的泄漏。不过,我认为这不是问题所在,刷新后清除了所用内存。
我们现在将尝试自动刷新。
最佳答案
setInterval()
应该永远持续下去。但是,您的脚本/页面可能会泄漏某种资源,最终导致您的页面脚本或浏览器内部出现错误。
如果是这种情况,您可能最终可以追踪到泄漏的资源类型并解决真正的问题,但即使这样做,一些浏览器也会遇到运行时间很长的进程的问题。
可能值得观察资源使用情况,看看浏览器内存使用情况是否会随着页面运行时间的延长而上升。但是,由于 F5 修复了它,我建议,作为一项安全措施,您只需让页面每隔几个小时重新加载一次。在大多数现代浏览器中,页面重新加载会释放与先前页面运行相关的所有资源,并从该 Angular 为您提供一个干净的平台。
只是这样做(每六个小时触发一次):
setTimeout(function() {
window.location.reload(true);
}, 6 * 1000 * 60 * 60);
不仅会给你一个干净的开始,而且还会自动让你的应用程序每隔一段时间自动检索你可能对应用程序所做的任何服务器端更改,所以如果你发布错误修复,它将自动部署几个小时内。
您还可以在页面中使用元刷新标记。
关于c# - 运行 JavaScript setInterval 的网站在 ~1 天后开始失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13236592/
我在使用以下代码时遇到问题: function http_file_exists($url){ $f=fopen($url,"r"); if($f){ fclose($f); retu
我已经通过 Git 部署到 Azure 几个月了,没有出现重大问题,但现在我似乎遇到了一个无法克服的错误。 我创建了一个新的 Azure 网站,为正在开发的项目创建单独的预览链接。我在新站点上设置了
我已经通过flutter创建了一个App并完成了它,我想在flutter文档中阅读时进行部署。 我收到此错误: FAILURE: Build failed with an exception. * W
我在Windows 10中使用一些简单的Powershell代码遇到了这个奇怪的问题,我认为这可能是我做错了,但我不是Powershell的天才。 我有这个: $ix = [System.Net.Dn
我正在尝试使用 RapidJSON 解析从服务器接收到的数据。以下是收到的确切字符串: [ { "Node": "9478149a08f9", "Address": "172.17
我尝试为 ios 编译 OpenCV。我总是收到这些错误。我用不同版本的opencv试了一下,结果都是一样的。 我运行这个:python 平台/ios/build_framework.py ios_o
我在一台机器上做基本的发布/订阅,我的客户端是 StackExchange-Redis 的 C# 客户端,我在同一台机器上运行基于 Windows 的 Redis 服务器(服务器版本 2.8.4) 当
我有这段代码,但无法执行,请帮我解决这个问题 连接 connect_error) { die ("connection failed: " . $terhubung->connect_erro
我在 tomcat 上运行并由 maven 编译的 Web 应用程序给出了以下警告和错误。我可以在本地存储库中看到所有 JAR,但有人可以帮忙吗。 WARNING: Failed to scan JA
我正在 Windows 8 上使用 Android Studio 开发一个 android 应用程序,我正在使用一些 native 代码。突然间我无法编译我的 C 文件。当我运行 ndk-build
下面的代码对类和结构的成员进行序列化和反序列化。序列化工作正常,但我在尝试使用 oarch >> BOOST_SERIALIZATION_NVP(outObj); 反序列化时遇到了以下错误; 代码中是
如果我运行此命令“rspec ./spec/requests/api/v1/password_reset_request_spec.rb”,此文件中的所有测试都会通过。 但是,当我运行“rspec”时
我在尝试执行测试以使用 Protractor 上传文件时出错,我的代码是这个 it('it should be possible to upload a file', function() {
System.loadLibrary("nativefaceswap"); 当我运行我的应用程序时,我在 Android Studio 中发现了此类错误。在logcat中显示: java.lang.U
我希望有人能帮助我!使用任何方法或命令行的任何 SSL/HTTPS 调用均无效。 我在 Windows 10 中使用 Ubuntu Server 18.04 作为子系统。我的问题是昨天才开始出现的,因
通过删除这两个值将日期字段从 null=True 和 Blank=True 更改为 required 时,使用 db.alter 命令时遇到问题。 当以下行被注释掉时,迁移运行不会出现问题。
我第一次使用 Heroku 尝试创建应用程序(使用 SendGrid 的 Inbound Parse Webhook"和 Twilio SMS 通过电子邮件发送和接收 SMS 消息)。通过 Virtu
我正在将我的 swift 项目更新到 Xcode 7 上的 Swift 2.0。xcode 在构建项目时报告了以下错误: 命令/Applications/Xcode.app/Contents/Deve
在我的代码中,SSL 库函数 SSL_library_init() 没有按预期返回 1。我如何才能看到它返回了什么错误? 我在 SSL_library_init() 之后调用了 SSL_load_er
我正在尝试运行在以下链接中找到的答案: Asynchronously Load the Contents of a Div 但是当我这样做时,我会遇到我不太理解的错误。 我的代码: $(documen
我是一名优秀的程序员,十分优秀!