关于中间件的顺序,this question规定:会话中间件:事务中间件之前还是之后?
SessionMiddleware
- 之前
TransactionMiddleware
:我们不需要在这里
交易为什么我不希望我的会话更新在我的交易?如果会话更新为视图中发生的某些事件的副作用,并且视图失败,我无法想象会出现这样的情况,即我希望会话仍然更新,就好像它没有失败一样。 (显然,如果会话引擎不是DB-基础,这个问题就必须走近一些其他的方式。)
请为什么我可能希望SessionMiddleware
到TransactionMiddleware
之外运行一个明确的使用情况。
使用会话传达有关事务失败的消息是一个很好的用例。谢谢。你能解释一下长期运行的流程是什么意思吗?你的意思是日志运行请求,如大文件上传? – 2012-03-13 19:45:06
是的,长时间运行的请求/进程就像大文件上传,甚至在服务器端需要花费时间。假设您正在使用API将用户的所有推文保存在数据库中。您可能希望通过在会话中保存状态并使用AJAX检索它来继续更新作业的状态。 – Pratyush 2012-03-13 19:52:05