当前位置:  开发笔记 > 编程语言 > 正文

如何实现每小时运行但也可以从.aspx页面触发的作业?

如何解决《如何实现每小时运行但也可以从.aspx页面触发的作业?》经验,为你挑选了1个好方法。

我需要一个方法来经常运行一些数据库处理.但是,我可能需要它可以由网站上的管理员触发.但我不希望这种方法同时运行多次,因为这可能会导致它遇到数据库的问题.

例如,我可以......

创建一个在计时器上运行该方法的单例类,并在global.asax文件中对其进行实例化.然后,因为它是一个单例,我可以从我的普通.aspx页面调用它,并随时调用该方法.我可能需要使用C#的"锁定"功能来检查方法是否已经运行.

我最近听到一些谈话,单身人士是"邪恶的",但这似乎是完美的契合.你怎么看?提前致谢.



1> Marc Gravell..:

定时器和锁(用于同步对数据库的访问)在Web上是一个坏主意; 您可能在不同的服务器上有零个,一个或多个应用程序池.它们可以随时回收,并且在需要之前不会旋转.基本上,这不会阻止您从多个来源锤击数据库.

就个人而言,我很想写一个服务来完成这项工作(db-polling,或通过WCF等),或者使用db(一个SP或类似的) - 在表格行中设置一个标志来说"正在进行中",在数据库中执行工作,并清除标志(重复尝试在进行中立即退出).

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