【问题标题】:Backend .Net program to work with database使用数据库的后端 .Net 程序
【发布时间】:2013-06-03 13:50:47
【问题描述】:

我正在为我的学校作业做一个项目,我可能有问题。

我正在创建一个关于预订和广告的门户网站。单个广告的预订存储在一行中,每当其中一个过期(持续时间:5 天),它应该被标记为 过期,下一个从该行应该得到序列号 1,并被标记为活动(待定)。 我需要一个解决方案来完成这项工作:(

有没有办法让我的.NET项目之外的项目在后台运行并一直检查这些东西?

非常感谢大家!

如果有什么我可以更好地解释的,请尽管提问。

语言:C# .Net

数据库:mySql

工具:Visual Studio 2012、Workbench、...

【问题讨论】:

  • 习惯上显示您尝试过的内容。
  • 首先感谢您的格式化:) 我没有尝试任何事情,因为我真的不知道如何......这就是我首先问的原因......

标签: c# .net database web backend


【解决方案1】:

基本上你至少有两个选择,看看使用SQLDependency,这样当'它'被标记为过期时,sqlserver会通知你的应用程序,你可以做你喜欢的事情。

或者使用轮询系统,在您现有的项目中,只需每隔 60 分钟轮询一次数据库,看看“它”是否被标记为过期,然后,做你喜欢的事。

不需要单独的项目。

编辑:不确定 sqldependency 是否适用于 mySql,也许可以改用 SqlCacheDependency 之类的东西,但老实说,除非您必须绝对拥有“实时”数据,否则轮询解决方案很好、更容易且更易于维护,例如 sqldependency漏洞百出,实施起来很麻烦。

【讨论】:

  • 非常感谢...我将尝试实施池系统,并希望能得到一些结果:) 你有一些链接可以让我了解池系统的实施吗?再次感谢...
【解决方案2】:

您可以在帮助程序类中以编程方式编写您的更改,该类检查经过的时间是否 >=5 天,然后执行您需要的任何操作。来看看

http://hangfire.io/

我发现这在创建循环后台作业时非常有用。

注意:当然,如果您使用的是 EF6,这一切都会起作用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多