4

我们有一种情况,我们的 Web 应用程序调用我们的 Web 服务,然后调用数据库存储过程来根据客户返回数据。SP 返回了 80 万行,涉及到 SP 中的 JOIN,因此大约需要 8-10 秒。

我们决定在 Web 服务端我们将 80 万行放入缓存中,Web 服务将从缓存中返回数据。一个后台线程将在 15-20 秒后同时工作并更新数据。

我想知道一些真实的 ASP.NET 2.0 中的后台处理机制。

提前感谢您的帮助与合作。

4

4 回答 4

0

您可以使用HttpModule分离后台线程并缓存数据。这是一篇博客文章,展示了如何按照您的建议进行操作。

于 2012-06-22T15:27:53.653 回答
0

您可以通过在 Golbal.asx (Application_Start Event) 中创建一个线程来轻松完成此操作,该线程为您完成工作。对于您想要实现的任务,还有一些基于 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

于 2012-06-26T09:57:56.503 回答
0

在这里没有后台处理会有所帮助。雇用一个新的数据库人员,并确保他真正了解数据分页。查询 25 行数据不可能需要 10 秒,这简直是疯了。

于 2012-06-26T13:22:56.263 回答
0

我已经实现了它,我的另一个问题正在显示它的实现。 ASP.NET 后台线程性能指南

于 2012-07-16T07:25:02.540 回答