这是关于最佳做法的问题。我希望得到其他开发者的一些建议。
我需要在我的网站上至少每30分钟要求一次页面。我想要实现的是一个运行Web应用程序中的代码的计时器。
有些网站会检查您的网站是否已启动,但实际上这些网站并不可靠。
期待您的想法。
答案 0 :(得分:3)
这个问题有两个部分:
一旦你将其分解,编写一个可以“定期”运行“请求页面一次”代码的控制台或Windows窗体应用程序变得很简单。
答案 1 :(得分:3)
编写.Net控制台应用程序,向您要点击的页面发出请求。
使用Windows Scheduler每30分钟执行一次控制台应用程序(即.exe)。
答案 2 :(得分:2)
还可以将wget与cron或计划任务一起使用
您还可以在页面加载事件中编写一些代码,在其中检查是否>自上次点击以来已经过了30分钟,然后运行了一些代码。
答案 3 :(得分:1)
Stackoverflow执行此操作...请参阅此处的博客条目: http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/
基本上,有一个在缓存对象到期时调用的回调函数。这可以运行您想要的任何代码,如果您希望它加载页面,您可以使用HttpWebRequest执行此操作。但是,我想你只需要运行一些代码,所以你可以在函数中直接执行。
答案 4 :(得分:0)
首先,您可以使用Grease Monkey在网站中注入您的Timer功能并注入此代码:
<script language="JavaScript">
// CREDITS:
// Automatic Page Refresher by Peter Gehrig and Urs Dudli
// Permission given to use the script provided that this notice remains as is.
// Additional scripts can be found at http://www.24fun.com & http://www.designerwiz.com
// info@24fun.com
// 8/30/2001
// IMPORTANT:
// If you add this script to a script-library or script-archive
// you have to add a link to http://www.24fun.com on the webpage
// where this script will be running.
////////////////////////////////////////////////////////////////////////////
// CONFIGURATION STARTS HERE
// Configure refresh interval (in seconds)
var refreshinterval=5
// Shall the coundown be displayed inside your status bar? Say "yes" or "no" below:
var displaycountdown="yes"
// CONFIGURATION ENDS HERE
////////////////////////////////////////////////////////////////////////////
// Do not edit the code below
var starttime
var nowtime
var reloadseconds=0
var secondssinceloaded=0
function starttime() {
starttime=new Date()
starttime=starttime.getTime()
countdown()
}
function countdown() {
nowtime= new Date()
nowtime=nowtime.getTime()
secondssinceloaded=(nowtime-starttime)/1000
reloadseconds=Math.round(refreshinterval-secondssinceloaded)
if (refreshinterval>=secondssinceloaded) {
var timer=setTimeout("countdown()",1000)
if (displaycountdown=="yes") {
window.status="Page refreshing in "+reloadseconds+ " seconds"
}
}
else {
clearTimeout(timer)
window.location.reload(true)
}
}
window.onload=starttime
</script>
答案 5 :(得分:0)
检查stackoverflow播客#15的记录,搜索heartbeat.asp
答案 6 :(得分:0)
看看Nagois,它可以每30秒点击一次你的网络应用。如果这是用于监控,我建议The Holy Trinity of Web 2.0 Application Monitoring。