我有一个C#WebAPI,当从客户端调用时,它运行一个相当复杂的算法。该算法在可用时间上有点不可预测 - 通常为5-10秒,但有时长达90秒(我正在研究这个问题)。当用户在客户端操作UI时,我希望不断向API发送请求以开始处理,这样当用户进入UI的不同部分时,API请求已完成,我可以立即显示(最近的)API调用的结果。
在最后一次运行时完成计算是非常重要的,所以我希望对此API方法的新请求替换旧请求(如果有的话)正在运行,而不是生成新线程在API中。
如果不清楚:
有没有办法做到这一点,或者如果没有(或者如果它的可怕做法)是否有不同的方式来创建这种功能?