![](/img/trans.png)
[英]Why does UserManager.GetUserAsync return null when using JWT?
[英]Using ExecuteInTransaction with UserManager
我们正在实施EnableRetryOnFailure
但正如在https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-resiliency上所讨论的那样,这对于用户定义的事务来说是开箱即用的。
上述链接(选项 3 和 4)的建议之一是使用ExecutionStrategy.ExecuteInTransaction
,并使用acceptAllChangesOnSuccess: false
调用SaveChanges
。
这是必要的,以便在 SaveChanges 成功但事务失败时可以重试事务。
我们遇到的问题是我们在事务中包含了UserManager
方法,这些方法将在内部调用上下文中的SaveChanges
。
当我们无法将UserManager
更改为使用acceptAllChangesOnSuccess: false
时,我们该怎么做?
使用 UserManager.CreateUser 方法添加用户将调用内部 UserStore 上的 SaveChanges 方法。 UserStore 类有一个公共属性 AutoSaveChanges,它指示是否调用 SaveChanges 方法。 通过将 AutoSaveChanges 属性设置为 false,然后调用 UserManager.CreateUser 方法,将不会调用 SaveChanges 方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.