在ASP.NET页面上执行函数而无需用户调用

时间:2013-01-12 10:03:56

标签: c# asp.net

情况1:
用户可以在ASP.NET页面上创建文件,也可以通过单击按钮来创建 之后,用户可能只是离线(远离站点)
该文件将在15分钟后自动删除。

情况2:
用户A单击按钮

Application["count"] = (int)Application["count"] + 1;

之后,在10秒内,如果有其他用户点击同一按钮。该值将增加。

Application["count"] = (int)Application["count"] + 1;

Lets说,在第6秒,没有更多的用户访问该网站。 在第10秒,服务器将自动执行某些操作以执行某些操作。

我可以知道怎么做吗? 有没有提示?或者我可以开始观察/学习的文章?

非常感谢你。

2 个答案:

答案 0 :(得分:2)

这是网站的常见问题,正确的答案是构建一个单独的Windows服务来执行后台任务。

有几种智能技巧来安排在IIS工作进程内完成的事情,但所有这些都是不安全的,因为

  1. 应用程序池可能会在任何时候被回收(即重新启动),从而失去内部状态,例如预定的事件。
  2. 由于不活动,应用程序池可能会关闭。
  3. 您的Windows服务可以公开由网站代码在内部调用的WCF服务,以便安排内容或从公共数据库中提取工作项。

答案 1 :(得分:0)

我找到了一些锻炼方法。对于那些面临同样问题的人,你可以读到这个:
ASP.NET中的简单后台任务
http://blog.stackoverflow.com/2008/07/easy-background-tasks-in-aspnet/