フォーム認証 (ユーザー名とパスワード) を使用する Web アプリケーション (.net 4.0) があります。私はログインが遅い問題を突き止めようとしており、最初のログインではページがログインするのに 20 ~ 50 秒かかり、その後の各ログイン (ログオフして再度ログインする) には平均で 20 秒かかるという結論に達しました。 3秒の。最初のログインに時間がかかる原因は何ですか? ほとんどのユーザーは 1 日に 1 回しかサイトにログインしないため、実際には最初のログインだけのように見えますが、これはサイトが遅いように見えます。
<asp:Login ID="Login1"
CssClass="login"
runat="server"
InstructionText="Please enter your information."
CheckBoxStyle - CssClass="loginRememberMe"
RememberMeText="Remember Me"
width="300px"
Height="150px"
onloggingin="Login1_LoggingIn"
onauthenticate="Login1_Authenticate">
<TitleTextStyle CssClass="loginHeader" />
<TextBoxStyle CssClass="loginInput" />
<LoginButtonStyle CssClass="loginButton" />
<InstructionTextStyle Font - Italic="True" ForeColor="Black" / >
</asp:Login>
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
Login login = (Login)loginview1.FindControl("Login1");
MembershipProvider prov = Membership.Providers["AspNetSqlMembershipProvider"];
if (prov.ValidateUser(login.UserName, login.Password))
{
e.Authenticated = true;
AuthenticatedUser.ConnectionString = "PortalConnectionString";
AuditUserLogin(login.UserName, true);
}
else
{
AuditUserLogin(login.UserName, false);
e.Authenticated = false;
}
}
private void AuditUserLogin(string Username, bool Authenticated)
{
AuditLog.LogUserLoginAttempt(Username, Authenticated, getIP());
}
protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
{
//todo
}