我想在MVC 5中实现一种特殊的行为。
我有一个ajax调用,在页面加载后启动,调用缓慢的第三方API。 流程如下:
我无法向客户端返回信息,因为它包含敏感数据,所以我无法在单独的调用中将其保存在客户端,然后在无状态操作上调用第三方API,因为我必须返回调用客户端之后进行会话更新的结果。
这就是我想要实现的目标:
是否可以实现?
感谢您的帮助。
答案 0 :(得分:0)
好的,经过一些尝试和错误,我找到了一个解决方案,但它很难看。
我所做的是使用请求的guid在应用程序缓存上缓存请求参数。将guid传递给客户端,该客户端将调用无状态控制器,该控制器将调用缓慢的第三方API并且不会持有其他ajax调用。一旦完成,将guid返回给客户端,该客户端将执行第三次ajax调用以将api结果应用于会话变量,然后刷新html。
不是最好的,但到目前为止工作完美,我会做一些更改来重用缓存的请求。