fix: 登录 UserInfo 构建改为串行查询,避免 DbContext 并发异常
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
2188a3ce6e
commit
b0813ea12d
@ -460,13 +460,9 @@ public partial class AuthService(
|
|||||||
return cached;
|
return cached;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用户资料与权限并行,避免串行打两次慢查询
|
// 同一 scoped DbContext 不能并行查询,必须串行
|
||||||
var userTask = userService.GetAsync(userId, cancellationToken);
|
var userInfo = await userService.GetAsync(userId, cancellationToken);
|
||||||
var permissionsTask = userService.GetUserPermissionsAsync(userId, cancellationToken);
|
var permissions = await userService.GetUserPermissionsAsync(userId, cancellationToken);
|
||||||
await Task.WhenAll(userTask, permissionsTask);
|
|
||||||
|
|
||||||
var userInfo = await userTask;
|
|
||||||
var permissions = await permissionsTask;
|
|
||||||
var menus = await BuildMenusByPermissionsAsync(permissions, cancellationToken);
|
var menus = await BuildMenusByPermissionsAsync(permissions, cancellationToken);
|
||||||
|
|
||||||
var dto = new UserInfoDto
|
var dto = new UserInfoDto
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user