C#web后台定时问题

stupid_muscleman 2016-08-22 02:05:23

public partial class WebForm1 : System.Web.UI.Page
{
System.Timers.Timer _timer;
protected void Page_Load(object sender, EventArgs e)
{
int interval = 5000;
_timer = new System.Timers.Timer();
_timer.Interval = interval;
_timer.Enabled = true;
_timer.Elapsed += new System.Timers.ElapsedEventHandler(TimeEvent);
//ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('hello');</script>");
}

public void TimeEvent(object sender, System.Timers.ElapsedEventArgs e)
{
//_timer.Enabled = false;
DateTime dt = DateTime.Now;
div1.InnerHtml = "<b>" + dt.ToShortTimeString() + "</b>";
Console.Write(dt.ToShortTimeString());
ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('ha');</script>");
//_timer.Enabled = true;
}
}


每5S执行一次,但是div1,控制台,js,都没有反应。
调试的时候发现它执行的顺序是错乱的。
输出线程 '<无名称>' (0x4968) 已退出,返回值为 0 (0x0)。
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主,后台设置timer是没啥用的,你可以试试ajax提交,前台5s执行一次ajax。
  • 打赏
  • 举报
回复
页面对象,一瞬间(几百毫秒)之后就销毁了。在后台创建一个 Timer,是没有意义的。 你需要重新考虑你的设计思路。

62,046

社区成员

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

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

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

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