c# - 在托管 Web 服务器中安排作业

标签 c# asp.net web

有人能给我一个使用 .NET 技术实现日常工作的最佳方法吗? 我有一个 sqlserver 数据库托管在共享主机中的 asp.net 应用程序,在我的实例中是 GODaddy。 我的应用程序用于添加/更改此时执行相当公平的数据库中的数据。 我收到了一项新要求,即每天根据存储在数据库中的某些数据标准发送一些电子邮件警报。

最初我想写一个 windows 服务,但 godaddy 不允许访问其托管应用程序以外的数据库。 有人知道每天凌晨 1:00 发送警报吗?

提前致谢

最佳答案

参见 Easy Background Tasks in ASP.NET杰夫·阿特伍德。

从链接复制/粘贴:

private static CacheItemRemovedCallback OnCacheRemove = null;

protected void Application_Start(object sender, EventArgs e)
{
    AddTask("DoStuff", 60);
}

private void AddTask(string name, int seconds)
{
    OnCacheRemove = new CacheItemRemovedCallback(CacheItemRemoved);
    HttpRuntime.Cache.Insert(name, seconds, null,
        DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
        CacheItemPriority.NotRemovable, OnCacheRemove);
}

public void CacheItemRemoved(string k, object v, CacheItemRemovedReason r)
{
    // do stuff here if it matches our taskname, like WebRequest
    // re-add our task so it recurs
    AddTask(k, Convert.ToInt32(v));
}

关于c# - 在托管 Web 服务器中安排作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1134615/

相关文章:

c# - 如何检查文件夹的写保护?

c# - iTextSharp : PDF Gradient from Spot1 to Spot2

c# - 列表的加入语句

javascript - $(.class).empty 总是缺少一个元素

c# - 异步方法中未显示忙碌指示符

javascript - 使用 Javascript,为什么 ASP.Net grdiview 中的多个下拉列表中的所有值都为空

asp.net - 如何在服务器群中实现锁定?

c# - 在 asp.net 中的同一服务器上下载应用程序根文件夹之外的文件

java - 运行时出现 "Completed initial distribution of"错误 - NetBeans 7.4

Ruby:Resque 立即排队