我们有一种情况,我们的 Web 应用程序调用我们的 Web 服务,然后调用数据库存储过程来根据客户返回数据。SP 返回了 80 万行,涉及到 SP 中的 JOIN,因此大约需要 8-10 秒。
我们决定在 Web 服务端我们将 80 万行放入缓存中,Web 服务将从缓存中返回数据。一个后台线程将在 15-20 秒后同时工作并更新数据。
我想知道一些真实的 ASP.NET 2.0 中的后台处理机制。
提前感谢您的帮助与合作。
我们有一种情况,我们的 Web 应用程序调用我们的 Web 服务,然后调用数据库存储过程来根据客户返回数据。SP 返回了 80 万行,涉及到 SP 中的 JOIN,因此大约需要 8-10 秒。
我们决定在 Web 服务端我们将 80 万行放入缓存中,Web 服务将从缓存中返回数据。一个后台线程将在 15-20 秒后同时工作并更新数据。
我想知道一些真实的 ASP.NET 2.0 中的后台处理机制。
提前感谢您的帮助与合作。
您可以使用HttpModule分离后台线程并缓存数据。这是一篇博客文章,展示了如何按照您的建议进行操作。
您可以通过在 Golbal.asx (Application_Start Event) 中创建一个线程来轻松完成此操作,该线程为您完成工作。对于您想要实现的任务,还有一些基于 HTTPModule 的实现和一些基于缓存的实现。
但我不推荐以上任何一种,因为当应用程序池由于空闲超时(或任何其他原因)而回收时,它们都会停止工作。以下是所有这些问题的详细信息:-
我推荐的是:- 1- 创建一个 Windows 服务 2- 创建一个简单的控制台应用程序并将其添加到 Windows 的计划任务中 3- 在数据库中创建一个将在一定频率后执行的作业。
详情请看:-
http://zeeshanumardotnet.blogspot.com/2010/01/how-to-send-periodictimely-emails.html
在这里没有后台处理会有所帮助。雇用一个新的数据库人员,并确保他真正了解数据分页。查询 25 行数据不可能需要 10 秒,这简直是疯了。
我已经实现了它,我的另一个问题正在显示它的实现。 ASP.NET 后台线程性能指南