通常,帐单应该在预定日期在后台执行(我还没有弄清楚如何做到这一点,但这是另一个话题)。
但有时,用户可能希望手动执行计费。单击后,无论用户端发生什么(例如关闭浏览器、机器死机、网络中断等),我都想确保操作完成。
我很确定 db.SaveChanges() 将其数据库操作包装在事务中,所以从服务器的角度来看,我相信整个事情要么完成要么失败,没有部分影响。
但是 POST 和 db.SaveChanges() 之间的所有工作呢?有没有办法确保用户不会无意或故意阻止它完成?
我想这个问题的一个必然结果是正在运行的异步控制器或正在运行Task
或Thread
用户断开连接会发生什么?