我们有一种情况,我们的web应用程序调用我们的web服务,然后调用一个数据库存储过程来根据客户返回数据。SP返回了80万行,并涉及到SP中的JOIN,因此大约需要8-10秒。
我们已经决定在web服务端,我们将80万行放入cache,web服务将从缓存中返回数据。后台线程将同时工作,并在15-20秒后更新数据。
我想知道ASP.NET 2.0中一些真实的后台处理机制。
提前感谢您的帮助和合作。
发布于 2012-07-16 15:25:03
我已经实现了它,我的另一个问题是显示它的实现。ASP.NET Background thread Performance Guidance
发布于 2012-06-22 23:27:54
您可以使用HttpModule关闭后台线程并缓存数据。这里有一个blog post,它展示了如何做你所建议的事情。
发布于 2012-06-26 17:57:57
您可以通过在Golbal.asx (Application_Start事件)中创建一个线程来轻松地完成这项工作,该线程将为您完成此工作。此外,对于您想要实现的任务,还有一些基于HTTPModule的实现和一些基于缓存的实现。
但我不推荐上面的任何一个,因为当应用程序池由于空闲超时(或任何其他原因)而回收时,它们都停止工作。以下是所有这些问题的详细信息:
http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx
我的建议是:- 1-创建一个windows服务2-创建一个简单的控制台应用程序并将其添加到windows 3的计划任务中-在数据库中创建一个作业,该作业将在特定频率后执行。
有关详情,请参阅:
http://zeeshanumardotnet.blogspot.com/2010/01/how-to-send-periodictimely-emails.html
https://stackoverflow.com/questions/11159175
复制相似问题