Asp.net core ASP.Net Core 3.0 UserManager更新安全StampAsync乐观并发失败,对象已修改

Asp.net core ASP.Net Core 3.0 UserManager更新安全StampAsync乐观并发失败,对象已修改,asp.net-core,asp.net-identity,asp.net-core-2.1,optimistic-concurrency,usermanager,Asp.net Core,Asp.net Identity,Asp.net Core 2.1,Optimistic Concurrency,Usermanager,你知道UserManager.UpdateSecurityStamp的目的是什么吗?每当用户登录到我的ASP.Net Core 3.0应用程序,偶尔遇到乐观并发故障,对象被修改时,我都会调用它。任何建议和见解都将不胜感激。它的用例是什么?乐观并发异常的根本原因是什么?它基本上使以前登录的所有其他用户的以前会话无效,其用例在文档中命名为:用于SignOutEverywhere功能(即,当用户更改密码时,注销用户以前登录的所有其他会话)乐观并发异常的用例和根本原因是什么?也要防止两个更新操作的更改覆

你知道
UserManager.UpdateSecurityStamp
的目的是什么吗?每当用户登录到我的ASP.Net Core 3.0应用程序,偶尔遇到
乐观并发故障,对象被修改时,我都会调用它。
任何建议和见解都将不胜感激。它的用例是什么?乐观并发异常的根本原因是什么?它基本上使以前登录的所有其他用户的以前会话无效,其用例在文档中命名为:用于SignOutEverywhere功能(即,当用户更改密码时,注销用户以前登录的所有其他会话)乐观并发异常的用例和根本原因是什么?也要防止两个更新操作的更改覆盖彼此的更改。i、 e.两个请求发生在同一个毫秒级上,从数据库读取状态A,并且都进行不同的更改。一个(第一个)将成功,第二个将失败,因为并发令牌已更改。因此,您应该处理并发性(只需重试并接受第一次更新操作中的数据可能丢失/覆盖),或者通过将更新应用于数据集的新版本(基本上是加载实体并重新应用更改)来解决并发性…或者,如果您发现它不兼容,请通知用户并询问是否可以覆盖它。根据业务需求解决并发问题一直是开发人员的任务。在
catch
块中有关于如何正确处理此异常的参考吗?