我有一个有趣的问题需要解决,我什至不知道从哪里开始。我正在编写一个 MVC Web 应用程序,它通过表单获取记录列表,并为每个记录进行 ajax 调用。ajax 调用命中的控制器使用一次只能处理一个请求的资源。简单的解决方案是将 ajax 调用更改为同步调用,但是这会挂起浏览器并提供糟糕的体验。
此外,多个用户可能同时使用此应用程序,因此在客户端排队将不起作用。
有人有什么建议吗?
麦克风
我有一个有趣的问题需要解决,我什至不知道从哪里开始。我正在编写一个 MVC Web 应用程序,它通过表单获取记录列表,并为每个记录进行 ajax 调用。ajax 调用命中的控制器使用一次只能处理一个请求的资源。简单的解决方案是将 ajax 调用更改为同步调用,但是这会挂起浏览器并提供糟糕的体验。
此外,多个用户可能同时使用此应用程序,因此在客户端排队将不起作用。
有人有什么建议吗?
麦克风
首先,我的要求和你的不太一样。我的问题是我的后端数据库往往有点慢,而用户响应能力非常重要。
因此,我不得不从等式中删除数据库交互。
我的解决方案有两个主要部分:
维护数据的服务器端缓存
创建一个单独的进程来包含所有可以与服务器交互的数据库工作
单独的进程被实现为由 Windows 服务托管的命名管道 WCF 服务。
基本流程概述是:
服务本身是这样工作的:
回到用户区,有一个 javascript setInterval 循环正在运行:
最终结果是一个响应速度非常快的 UI,尽管后端持久服务器很慢。
如果您想要实现代码的任何特定部分,请告诉我。