Ho un'applicazione Web ASP.NET MVC 4. Funzionando localmente, funziona benissimo, ma sull'host web (che utilizza l'hosting condiviso), l'utente che ha effettuato l'accesso viene spesso disconnesso tornando alla home page. Nella maggior parte dei casi, l'utente viene disconnesso dopo aver eseguito solo alcune azioni.appartenenza ASP.NET MVC - l'utente viene disconnesso frequentemente - non so perché
L'host Web ha suggerito che la mia applicazione potrebbe utilizzare troppa memoria, ma ho usato un programma per profilare l'utilizzo della memoria e ho confermato che non stava usando una quantità eccessiva di memoria - infatti l'applicazione sembra utilizzare un frazione della memoria allocata sull'host web.
Ecco il metodo di accesso che viene utilizzato:
public static Boolean Login(string Username, string Password, bool persistCookie = false)
{
bool success = Membership.ValidateUser(Username, Password);
if (success)
{
FormsAuthentication.SetAuthCookie(Username, persistCookie);
}
return success;
}
Nel mio host web, il timeout di autenticazione basata su form è impostato su 60 minuti, in modo che non dovrebbe essere un problema, giusto?
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="60" />
</authentication>
e il mio valore di timeout lo stato della sessione è previsto anche di 60 minuti:
<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="60">
Sulla base della risposta here, ho aggiunto questa linea anche, che non sembrava per risolvere il problema:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps"></machineKey>
Qualche idea su quale potrebbe essere il problema e cosa posso fare per risolvere il problema?
Ho impostato entrambi su 60 al momento, che capisco è di 60 minuti, il che dovrebbe essere più che sufficiente. Ho aumentato il valore di timeout a un numero maggiore per vedere se ciò avrebbe fatto la differenza ... ma non è così. –
Quanto tempo è trascorso prima che scada o sembra provenire da una pagina o un controller specifici? –
Direi che la sessione utente rimane valida per non più di 1 o 2 minuti ... a volte più, a volte meno. Non sembra importare quale controller venga invocato. –