我需要在代码中每5秒执行一个操作,我该怎么做

ycc2008 2009-07-22 11:58:07
我有一个页面default.aspx使用一个<img src="http://localhost/img.ashx" />,我在img.ashx中输出一个gif,然后我需要在正常输出图片之后,每隔5秒钟判断一下这个default.aspx是否还开着或者已经被关闭,这个该如何实现呢?
...全文
323 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhong_0325 2009-07-23
  • 打赏
  • 举报
回复
顶 关注
bwangel 2009-07-23
  • 打赏
  • 举报
回复

<script type="text/javascript">
function showImg()
{
document.getElementById("img1").src ="http://localhost/img.ashx";
}

setInterval("showImg()", 5000);


<img src="http://localhost/img.ashx" id="img1" />
lambober 2009-07-23
  • 打赏
  • 举报
回复
最简单就是在meta中设置refresh时间
Gihrye 2009-07-23
  • 打赏
  • 举报
回复
使用Ajax技术没5秒提交一次数据,在后台接受数据进行判断
ycc2008 2009-07-22
  • 打赏
  • 举报
回复
能实现这样的效果也可以,在img.ashx中,每5秒我去操作下数据库,远程页面关闭后,我操作数据库的操作也相应停止,这样也可以。我试过Thread和Timer之类的,把页面关闭了,代码还在继续跑,不是预期的效果。
ycc2008 2009-07-22
  • 打赏
  • 举报
回复
to:(慕白兄) , 我也这么想,好矛盾。。。
如果我有办法在img.ashx中写出js可以在远程页面中生效就好了,就像<script ....src="js.ashx"..
cpp2017 2009-07-22
  • 打赏
  • 举报
回复
根据你的要求,必须考虑js.
虽然你的操作在img.ashx中,但必须通过js来定时报告客户端的状态。
luoyi107 2009-07-22
  • 打赏
  • 举报
回复
你页面是怎么设计的,如果有估定的一部分,在那估定的那个页面用定时器
http://topic.csdn.net/t/20050524/13/4031475.html
zjybushiren88888 2009-07-22
  • 打赏
  • 举报
回复
计时用JS实现 (例如settime)

判断页面是否关闭:

aspx的page_load设个标志 如Application("open")=1
ycc2008 2009-07-22
  • 打赏
  • 举报
回复
请不要考虑js,<img src="img.ashx" /> 我的操作在img.ashx中

还有,我试过Thread和Timer之类的,把页面关闭了,代码还在继续跑,不是预期的效果。
zhangning8191 2009-07-22
  • 打赏
  • 举报
回复
2楼说的对,利用js中的settime
zjybushiren88888 2009-07-22
  • 打赏
  • 举报
回复
占吭帮顶.
满衣兄 2009-07-22
  • 打赏
  • 举报
回复
这个首先应该考虑到js或者ajax
判断就用js的settime之类的函数就行
messi_yang 2009-07-22
  • 打赏
  • 举报
回复
設計一個類似時鐘
沒5s刷新進行判斷··
hypnoz 2009-07-22
  • 打赏
  • 举报
回复
private System.Timers.Timer pulseTimer;

protected void XXX
{
int interval = 1;//基数

interval = interval * 1000;//设置秒
pulseTimer = new System.Timers.Timer(interval);//每隔interval秒执行一次

pulseTimer.Elapsed += new System.Timers.ElapsedEventHandler(pulseTimer_Elapsed);
pulseTimer.Start();
}
//执行
private void pulseTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
}
DemonAngle 2009-07-22
  • 打赏
  • 举报
回复

private System.Timers.Timer pulseTimer;

protected void XXX
{
int interval = 1;//基数

interval = interval * 1000;//设置秒
pulseTimer = new System.Timers.Timer(interval);//每隔interval秒执行一次

pulseTimer.Elapsed += new System.Timers.ElapsedEventHandler(pulseTimer_Elapsed);
pulseTimer.Start();
}
//执行
private void pulseTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
}
sijin 2009-07-22
  • 打赏
  • 举报
回复
用AJAX的TIME控件
ycc2008 2009-07-22
  • 打赏
  • 举报
回复
这个img.ashx是我的,这个是给远程网站输出图片用的,远程网站是我不能够控制的,比如我在google的论坛里放了一个<img src="我的网站地址/img.ashx" />,难道要让google去加上js吗?
所以不是我绕进去了,而是根本就没有办法用js,我怎么可能将js输出到远程网站然后使其生效呢。

我的需求就是,在我的服务器上,我能知道加了<img src="我的网站地址/img.ashx" />的远程页面的人在这个页面的在线时间。
ff1222 2009-07-22
  • 打赏
  • 举报
回复
那个。。。不是setTimeout()和setInterval吗?怎么都说setTime。
根据按lz说的,还是用setTimeout()配合ajax来实现吧
haonanxxx 2009-07-22
  • 打赏
  • 举报
回复
js+settimeout(5000)+ajax
步骤就是这样了。
先写个js控制settimeout(5000),表示5秒钟执行一次;


function funX(){
....
setTimeout(function{

//要执行的函数,也就是ajax;

},5000);

}



加载更多回复(5)

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧