如何使用C#
在ASP.NET中10分钟后触发服务器端操作例如,如果用户创建了一个帐户,并且他的帐户在12小时内保持不活动状态,则如何自动删除其帐户。我需要与这种例子相关的东西。
与浏览器不应该有任何关系。一旦用户退出他的帐户,他的某些服务器端操作将在一段时间后自动执行。
答案 0 :(得分:0)
This thread似乎有一些与您的问题相关的解决方案。
答案 1 :(得分:0)
要确保某些代码正常运行,无论是关闭浏览器还是IIS回收,您都应该在服务器上运行Windows服务,然后就可以在其中使用某种任务调度框架。
我宁愿解决这个问题,每天运行一次清理工作,例如,我会努力编写工作逻辑本身(如果确实需要),那么我会让Windows任务调度服务来调用我的工作所以没有浪费时间重新发明轮子......
答案 2 :(得分:0)
您是否考虑过使用网络服务?这将独立于浏览器运行,并可以为您运行长期计时器事件。
答案 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()
' - 陶氏的工作......
结束子