manager.FindById(User.Identity.GetUserId())非常慢

时间:2015-02-03 20:51:42

标签: c# asp.net

我在goDaddy上托管了一个asp.net应用程序,使用SQL Server作为后端。 我正在使用asp.net身份验证登录。 我正在调用以下内容以获取用户的属性。

UserManager manager = new UserManager();
var user = manager.FindById(User.Identity.GetUserId());

以上一行非常慢。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

ASP.NET应用程序可能在ASPNET或网络服务下运行,而不是在域用户下运行。根据目前的情况,我建议你先冒充。您可以在web.config中启用它,如下所示:

考虑您使用的身份以及通过应用程序传递身份的方式。要访问下游资源,可以使用ASP.NET进程标识。或者,您可以启用模拟并流动原始调用者的身份。如果连接到Microsoft SQL Server,还可以使用SQL身份验证。当您使用单个标识连接到共享资源(如数据库)时,您将从连接池中受益。连接池显着提高了可伸缩性。