当前位置:  开发笔记 > 后端 > 正文

在ASP.NET上启动维护流程的最佳实践是什么?

如何解决《在ASP.NET上启动维护流程的最佳实践是什么?》经验,为你挑选了1个好方法。

给定一个ASP.NET应用程序,我需要定期运行维护过程(每天,每小时等).

如果不依赖于服务器上的计划任务等外部流程(假设我无法访问服务器 - 共享托管环境),最好的方法是什么.



1> sectrean..:

这是StackOverflow的方式:

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));
}

详细信息:http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有