10分钟后触发一个动作[重复]

Posted

技术标签:

【中文标题】10分钟后触发一个动作[重复]【英文标题】:fire an action after 10 minutes [duplicate] 【发布时间】:2011-07-06 16:40:42 【问题描述】:

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

如何在 ASP.NET 中使用 C# 在 10 分钟后触发服务器端操作

例如,如果用户创建了一个帐户,并且如果他的帐户在 12 小时内处于非活动状态,那么如何自动删除他的帐户。我需要一些与此类示例相关的内容。

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

【问题讨论】:

你真的明白你在问什么吗? 我认为 Windows 服务可能更适合此类清理/管理任务 自动删除是什么意思 为什么需要这个 @stefan, @dorababu :我只是给了你一个例子。可能是删除数据库中的帐户或我们选择的其他帐户... @stefan - 如果你不能回答/如果你不了解这个主题,我希望最好不要对此发表评论。希望你明白我的意思:-) 【参考方案1】:

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

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

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

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

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

结束子

并实现一个例如使用工人方法的经理: Manager.vb:

公共共享子 DoWork()

'--Dow 工作...

结束子

【讨论】:

你好克里斯,你的答案是正确的......但我可以期待 c# 中的相同语法 由于我无法将代码作为评论发布,请尝试使用此在线工具转换代码片段:developerfusion.com/tools/convert/vb-to-csharp【参考方案2】:

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

【讨论】:

【参考方案3】:

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

例如,我宁愿每天运行一次清理作业来解决这个问题,我会努力编写作业逻辑本身(如果真的需要),然后我会让 Windows 任务调度服务调用我的作业,所以不浪费时间重新发明***......

【讨论】:

【参考方案4】:

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

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

【讨论】:

以上是关于10分钟后触发一个动作[重复]的主要内容,如果未能解决你的问题,请参考以下文章

UILocalNotification 在后台 10 分钟后不会触发

iOS 10 - 每“x”分钟重复一次通知

如何在按下按钮后每 10 分钟重复一次方法并在按下另一个按钮时结束它

iOS 11-每 x 分钟重复一次的用户本地通知

java 如何隔一段时间自动重复触发一个按钮动作?

Azure 应用服务Azure Function HTTP 触发后, 230秒就超时。而其他方式触发的Function, 执行5分钟后也超时,如何调整超时时间?