
为什么编辑不能上传图了,附上图链接
,并生成一个 UUID ,把这个 UUID 作为 key 和上面返回的 Task 存到一个共享的 ConcurrentDictionary 里面,并把这个 UUID 作为额外的字段加到 json 里返回给前端。 第二个接口前端拿这个 UUID 作为参数请求,拿到后通过这个 UUID 取得上面存的 Task 并检查 Task.Status 是否已经完成,未完成就返回 pending ,完成就返回结果(和释放资源)。 前端请求先第一个接口拿到 json 和 UUID 先渲染,然后等待一段时间在用 UUID 请求第二个接口,如果为 pending 那就等待一段时间重试直到拿到结果。 |
16 frisktale 2022 年 5 月 17 日 如果你期望的是”执行步骤 3“且不关心返回值”,可以利用 Hangfile 库的 BackgroundJob.Enqueue 方法。 |
17 frisktale 2022 年 5 月 17 日 不对啊,你说的第五点怎么和我印象里的不太一样。我记得,哪怕你不 await ,只要主程序不结束运行,你的异步方法还是会完整的执行下去的,只不过在异步方法的外部没法捕获异常。 |
18 frisktale 2022 年 5 月 17 日 |
19 Feiir 2022 年 5 月 17 日 成熟的方案就是队列 |