每30秒调用一次函数

问题描述:

我有一个需要每30秒调用一次的页面函数。 我该怎么做?每30秒调用一次函数

这是我需要调用代码:

protected void GetMachines_Click(object sender, EventArgs e) 
{   
    ArrayList machinesList = new ArrayList(); 

    GetValFromMachines(machinesList); 
}  

请帮助..谢谢

+4

为了澄清,你如何需要这个被称为?在服务器上? (在这种情况下,单独的线程是最好的,所以它不会阻塞任何Web应用程序。)或者从客户端? (在这种情况下,客户可以选择停止此次通话。) – David

+4

您是否曾希望它停止? –

+1

如果你按照下面的建议使用(它可以工作),它可能会导致一个完整的回发,除非包装在它自己的updatePanel中,这是需要的吗? – kd7

可以使用<asp:Timer>控制这一点。

http://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=asp.net+timer

它需要使用<asp:ScriptManager>

编辑

这将导致网页的全文后回来,所以你会希望把一个<asp:UpdatePanel在页面上只更新你想要的内容。

但是,我停止使用<asp:Timer><asp:UpdatePanel>来支持使用WCF Ajax Services进行这种更新。您可以在ScriptManager中添加对WCF服务的引用,然后允许您通过Javascript调用方法。我觉得它只是让您更好地控制通过AJAX传递的数据量,并且还可以停止整页回发。

+0

嘿谢谢..这个WCF看起来很有趣..请你能指点我看看你从哪里阅读的样本..? – user175084

+1

这可能是一个起点http://www.codeproject.com/KB/aspnet/wcfinjavascript.aspx –