10分钟后开始动作

时间:2011-03-01 17:28:02

标签: c# asp.net

  

可能重复:
  ASP.Net:Best way to run scheduled tasks

如何使用C#

在ASP.NET中10分钟后触发服务器端操作

例如,如果用户创建了一个帐户,并且他的帐户在12小时内保持不活动状态,则如何自动删除其帐户。我需要与这种例子相关的东西。

与浏览器不应该有任何关系。一旦用户退出他的帐户,他的某些服务器端操作将在一段时间后自动执行。

4 个答案:

答案 0 :(得分:0)

This thread似乎有一些与您的问题相关的解决方案。

答案 1 :(得分:0)

要确保某些代码正常运行,无论是关闭浏览器还是IIS回收,您都应该在服务器上运行Windows服务,然后就可以在其中使用某种任务调度框架。

我宁愿解决这个问题,每天运行一次清理工作,例如,我会努力编写工作逻辑本身(如果确实需要),那么我会让Windows任务调度服务来调用我的工作所以没有浪费时间重新发明轮子......

答案 2 :(得分:0)

您是否考虑过使用网络服务?这将独立于浏览器运行,并可以为您运行长期计时器事件。

http://msdn.microsoft.com/en-us/library/t745kdsh.aspx

答案 3 :(得分:0)

我会在global.asax中设置一个Timer方法,然后可以进行清理操作。

因此,您将以下代码添加到Application_Start:

Sub Application_Start(ByVal sender As Object,ByVal e As EventArgs)

' - 每15分钟保存一次翻译,在appstart后15秒开始 Dim TimerDelegate As Threading.TimerCallback = AddressOf Manager.DoWork

Dim MyTimer As Threading.Timer = New Threading.Timer(TimerDelegate,Nothing,TimeSpan.FromSeconds(15),TimeSpan.FromMinutes(10))

End Sub

并实施例如经理与工人方法: Manager.vb:

public shared sub DoWork()

' - 陶氏的工作......

结束子