Closed seamusic closed 2 years ago
已添加了实体,但还没执行迁移,这个时候登录时是成功的。后续到事件发布里出错。 //触发登录成功事件 LoginEventData loginEventData = new LoginEventData() { LoginDto = dto, User = user }; await _eventBus.PublishAsync(loginEventData); FunctionAuthCacheRefreshEventData functionAuthCacheRefreshEventData = new FunctionAuthCacheRefreshEventData() { UserNames = new[] { user.UserName } }; await _eventBus.PublishAsync(functionAuthCacheRefreshEventData); //报错
//触发登录成功事件 LoginEventData loginEventData = new LoginEventData() { LoginDto = dto, User = user }; await _eventBus.PublishAsync(loginEventData); FunctionAuthCacheRefreshEventData functionAuthCacheRefreshEventData = new FunctionAuthCacheRefreshEventData() { UserNames = new[] { user.UserName } }; await _eventBus.PublishAsync(functionAuthCacheRefreshEventData); //报错
后续没有再发生了。原因不明。
跟踪代码,发现到最后是无法访问数据库?
在编辑功能时,同样也是有一个eventbus publish报错,如下:
代码位置:
大概的原因是,使用了事务,数据库更新后,但未提交。这个时候又发起异步事件,导致事件同时查询的是相同的库,导致等待超期报错。
不知你用的哪个版本,在新版本中已修复
已添加了实体,但还没执行迁移,这个时候登录时是成功的。后续到事件发布里出错。
//触发登录成功事件 LoginEventData loginEventData = new LoginEventData() { LoginDto = dto, User = user }; await _eventBus.PublishAsync(loginEventData); FunctionAuthCacheRefreshEventData functionAuthCacheRefreshEventData = new FunctionAuthCacheRefreshEventData() { UserNames = new[] { user.UserName } }; await _eventBus.PublishAsync(functionAuthCacheRefreshEventData); //报错