【问题标题】:Function to Run every 30 days [closed]每 30 天运行一次的功能[关闭]
【发布时间】:2015-10-24 01:58:28
【问题描述】:

Web 应用程序将在共享主机上,因此我无法访问服务器的根目录。我正在为这个网络应用程序使用Asp.net MVC5 (C#)SQL Server 2012。我想运行一个函数或任务以每 30 天运行一次,以在特定日期之前删除 SQL 表的一些记录。我想知道共享主机的最佳解决方案是什么。

  1. Windows 任务计划程序
  2. Windows 服务
  3. SQL 作业
  4. 类似 Jeff Atwood 的提议使用 cookie in this article
  5. 调度表(检查 global.asax Application_Start 中的执行日期并调用函数)

我正在寻找一种更适合共享主机的解决方案。 请建议。谢谢

【问题讨论】:

  • 您有权访问 SQL Server 代理吗?这将是最好的解决方案。
  • 普通共享主机是否提供 SQL 服务器代理,不,我认为我没有访问权限。请有其他建议
  • @ArbazAbid,我同意 Peter Smith,sql 工作 - 是这里最好的方式。探索你的 sql server 的可能性。
  • 在什么方面最好?性能、易于实施?
  • 我使用Hangfire 在 ASP.NET 中运行计划任务;它具有许多轻量级解决方案的功能,并且非常易于使用和启动和运行。您可以在现有的网络应用程序中运行,也可以将其作为单独的应用程序。

标签: c# asp.net sql-server asp.net-mvc scheduled-tasks


【解决方案1】:

我已经多次使用HangFire 是一个很好的解决方案,我相信这是要走的路。

但是,如果您遇到一些问题,也可以使用服务likethis。

根据Arbaz Abid 的建议,您也可以使用quartz

【讨论】:

  • 谢谢,我现在检查一下,很快就会标记为已回答。
  • @dnligmz:HangFire 也是共享主机环境的绝佳解决方案,但quartz.net 是一个简单的解决方案。再次感谢您的建议。
【解决方案2】:

Java 石英库有一个开源端口,名为quartz.net。这是一个tutorial,展示了如何在 ASP.NET 中使用它。

您可能还想查看 Scott Hanselman 的 Running Background Tasks in ASP.NET 以比较可用的解决方案。

【讨论】:

  • 感谢回复,我现在去看看。
  • 非常感谢,这确实适用于共享托管环境。上帝保佑!
猜你喜欢
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 2012-02-14
  • 2020-06-29
相关资源
最近更新 更多