使用ASP.NET Core等待用户输入的正确方法是什么?

问题描述 投票:0回答:1

实现等待服务器触发的用户输入的正确方法是什么?

我们假设以下场景:

用户发送请求 - >

在执行此请求期间,需要附加数据或简单确认 - >

当前执行暂停,令牌生成超时,以及发送到客户端的内容 - >

在客户端出现弹出窗口 - >

用户完成所需任务,数据与令牌一起发送到服务器,使用用户提供的其他数据恢复先前的任务执行。

我已经在新线程中使用委托回调来实现这个,等待这个令牌,但我不认为这是正确的方法,有没有其他方法可以做到这一点?

此外,我知道它通常分为两个动作,一个用于请求,另一个用于确认请求,但由于系统非常动态并且大多数服务器端操作工作流在数据层中定义,因此无法执行此操作。

asp.net-core task server-side pause
1个回答
0
投票

任务使用存储在服务器上的有状态对象解决(感谢@Tseng),每当数据丢失时,已经存在的数据被存储,令牌被发送回客户端,以及令牌需要的数据键,用于生成表单的UI描述符等。

然后再次调用请求,将新数据添加到此存储对象,并再次尝试任务,要么成功完成,要么提示输入更多数据。

实施定时处理,完成作业时的处理+每个会话的存储限制以防止恶意超载。

再次感谢

© www.soinside.com 2019 - 2024. All rights reserved.