首页 > 解决方案 > SignInManager.PasswordSignIn 在第一次尝试时很慢

问题描述

使用 Azure 网站(标准层)和网站加载正常(设置为始终打开)。站点/代码经过优化和预编译。

第一次调用 SignInManager.PasswordSignInAsync 很慢(大约 2 到 5 秒)。

注销然后登录,几乎是即时的。

等待大约几个小时,然后变慢(然后变快)。

行为类似于进入睡眠状态或不再加载到内存中的事物。

目前正在测试中,因此没有其他人登录,但网站(实时)不会在一夜之间忙碌,因此这会影响当天的“第一个”用户。

代码是:

SignInStatus result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

与 SignInManager.PasswordSignIn相同/相似的问题太慢

标签: c#azure-web-app-serviceasp.net-membership

解决方案


如果有人仍然有这个问题,我通过向 AspNetUsers 表添加索引来解决它。

CREATE NONCLUSTERED INDEX [IX_UserName] ON [dbo].[AspNetUsers]
(
    [UserName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, 
DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

推荐阅读