有人能给我一个使用 .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/