Closed heyunxu closed 3 years ago
CallContext.LogicalSetData 只能是单线程共享,sqlsugarclient不是线程安全对象 所以不同的线程需要new出新对象, 建议使用 SqlSugarScope
SqlSugarScope 是线程安全对象 支持单例和上下文共享
单例模式下 CallContext.LogicalSetData 都可以不用了
CallContext.LogicalSetData 只能是单线程共享,sqlsugarclient不是线程安全对象 所以不同的线程需要new出新对象, 建议使用 SqlSugarScope
LogicalSetData 不是会共享到当前线程和自己的子线程么?
CallContext.LogicalSetData 只能是单线程共享,sqlsugarclient不是线程安全对象 所以不同的线程需要new出新对象, 建议使用 SqlSugarScope
谢谢您的回复。感谢。
您好,使用的是VS2019, 在ASP.NET时,我将SqlSugarClient使用CallContext.LogicalSetData保存,确保上下文唯一,正常情况可以使用,但是当我尝试UnitTest单元测试时,只要调用CallContext.LogicalSetData方法保存SqlSugarClient对象,就会导致SqlSugarClient对象无法使用。
出现的错误如图:
但是我使用CallContext.SetData时,不会发生这个错误。