代码之家  ›  专栏  ›  技术社区  ›  Ken D

触发及时事件的最佳方式

  •  1
  • Ken D  · 技术社区  · 15 年前

    我正在建立一个ASP.Net网站,我有一个数据库表,我想在其中为所有行重置一列。列类型:字节

    我想每天午夜自动地做这个。我知道我可以在sqlservermanagementstudio中设置一个作业,但是我想用编程的方式来完成,我的网站将是触发它的触发器。

    我正在使用C#.Net 2008和MS SQL Server 2005

    i、 e.(伪码)

    if(new_day)// can we be accurate that time here will be around 12:00:05 at maximum?
        // call sql stored procedure to reset that column
    
    4 回复  |  直到 15 年前
        1
  •  1
  •   Martin Liversage    15 年前

    您的网站只在页面被请求时执行,使其无法作为定期执行任务的服务。最好的解决方案是直接使用SQL Server调度任务、创建自己的服务或使用Windows任务调度程序定期执行应用程序。

    但是,如果您处于托管环境中,则可能无法执行任何操作。在这种情况下,可以使用缓存来模拟服务。奥马尔扎比尔有一篇关于CodeProject的文章,解释了如何做到这一点: Simulate a Windows Service using ASP.NET to run scheduled jobs .

        2
  •  2
  •   J Benjamin    15 年前

    你可以用C语言制作一个简单的Windows服务,它可以在后台运行,但是考虑到你只想更新数据库,最好把它保存在数据库中…我建议你用SQL语言来执行计划的任务

        3
  •  1
  •   Jan Jongboom    15 年前

    如果你真的想:创建一个 Scheduled Task 每天午夜都会给你的网站打电话。网站本身无法触发自身,但任务可以做到这一点。

    但真的:只需设置一个SQL作业。

        4
  •  0
  •   Pavel Urbančík    15 年前

    SQL代理作业,计划在指定时间运行。