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

kri*_*hna 4 c# asp.net web

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

最初我想写一个Windows服务,但godaddy不允许访问除托管应用程序之外的数据库.有人有任何想法每天凌晨1点发送警报吗?

提前致谢

Pav*_*uva 5

请参阅Jeff Atwood的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));
}
Run Code Online (Sandbox Code Playgroud)