我们正在开发一个从 WCF 服务检索数据的 ASP.Net 应用程序。
用户界面(使用 JQM 和 ASP.NET 开发)在处理请求并且数据在服务器端分页时显示一个加载面板,因此我们的 db 仅返回每个请求的前 n 条记录。
在这种情况下,用户执行搜索,直到他浏览页面,我们希望预取接下来 n 个页面的结果以存储在 RAM 缓存对象中以避免延迟。
为此,我们使用quartz.net 创建了一个计划进程,每3 秒触发一次,它检查FIFO 队列以请求后续页面的数据。Scheduled JOB 配置为允许quartz.net 执行并发执行,quartz.net 设置为最多使用10 个线程。
在您看来,这是一个好方法吗?
可能是哪些问题?
密集使用作业(每 3 秒触发一次)和最终线程会导致应用程序不稳定吗?
基于 FileSystemWatcher 触发器的解决方案会更好吗?