Что вызывает медленное перенаправление входа в систему при отладке? - PullRequest
2 голосов
/ 03 ноября 2010

После того, как пользователь вводит имя пользователя / пароль и нажимает кнопку, происходит несколько шагов:

  1. Пароль зашифрован и сверен с небольшой таблицей базы данных (customMembershipProvider)
  2. Запрос возвращает роли пользователей (customRoleMembershipProvider)
  3. Запущен запрос, который возвращает около 30 записей
  4. FormsAuthentication.RedirectFromLoginPage(userNameTextbox.Text, true); называется
  5. Response.Redirect(@"~/Home.aspx", true); называется
  6. Пользователь переходит на простую HTML-страницу

Я убедился, что это не запросы (1, 2, 3 были кэшированы, поэтому он даже не попадает в базу данных). Страница, на которую перенаправляется пользователь, также кэшируется и не имеет логики базы данных. В производстве это намного быстрее, конечно, но все же не так быстро, как я хочу. Что может быть причиной этой проблемы? Кроме того, я заметил, что при входе в систему при следующем входе в систему (тот же или другой пользователь) пользователь перенаправляется мгновенно. Спасибо!

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Вам нужно будет предоставить больше информации о проблеме.Не похоже, что в вашем подходе слишком много ошибок, но, не видя пользовательских провайдеров членства и ролей, невозможно определить замедление.

Попробуйте использовать .net-профилировщик, такой как JetBrains DotTrace , который вернет древовидный график, на котором сконцентрировано время выполнения.Это должно выделить наиболее серьезные горячие точки, которые обычно делают проблемы гораздо более очевидными.

0 голосов
/ 18 января 2011

Оказалось, что медлительность была вызвана только следующей комбинацией:

Windows 7 Ultimate, VS2010 Ultimate, любая конфигурация ЦП

Исправлено добавлением конфигурации отладки x86 и использованием ее вместоЛюбая конфигурация процессора.

...