重用session的问题 #1013

Closed
opened 2018-06-20 02:57:36 +00:00 by qiuax · 1 comment
qiuax commented 2018-06-20 02:57:36 +00:00 (Migrated from github.com)

当前遇到的问题:session完成以后,就已经提交了,但是还想用到这个ssion的话,就不能再用了.因为现在我们的项目中,session是在model中传递的,但是事务提交以后,session就结束了,想再次使用这个session的话,就执行不了了,数据库会报Transaction has already been committed or rolled back 这样的错

分析的原因是:发现xorm源码中,Commit()和Rollback()方法里面发现没有把isAutoCommit设置为true,因此会出现事务提交或回滚后事务已经关闭了
https://github.com/go-xorm/xorm/blob/master/session_tx.go#L23
https://github.com/go-xorm/xorm/blob/master/session_tx.go#L33

解决方案如图所示,能否在session_tx.go文件中的Commit()和Rollback()方法里加上session.isAutoCommit = true这一段代码

image

当前遇到的问题:session完成以后,就已经提交了,但是还想用到这个ssion的话,就不能再用了.因为现在我们的项目中,session是在model中传递的,但是事务提交以后,session就结束了,想再次使用这个session的话,就执行不了了,数据库会报Transaction has already been committed or rolled back 这样的错 分析的原因是:发现xorm源码中,Commit()和Rollback()方法里面发现没有把isAutoCommit设置为true,因此会出现事务提交或回滚后事务已经关闭了 https://github.com/go-xorm/xorm/blob/master/session_tx.go#L23 https://github.com/go-xorm/xorm/blob/master/session_tx.go#L33 解决方案如图所示,能否在session_tx.go文件中的Commit()和Rollback()方法里加上session.isAutoCommit = true这一段代码 ![image](https://user-images.githubusercontent.com/27394941/41634337-db8ac7c6-7475-11e8-9459-9f1361dca3e3.png)

#1008 重复

与 #1008 重复
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: xorm/xorm#1013
No description provided.