我有一个ASP.NET MVC 4 Web应用程序。在本地运行,它可以正常工作,但在Web主机上(使用共享主机),登录用户会被重定向回主页而频繁登出。在大多数情况下,用户在执行一些操作后即被注销。ASP.NET MVC成员资格 - 用户经常注销 - 不知道为什么
网络主机建议我的应用程序可能会占用太多的内存,但我用一个程序来分析内存使用情况,并确认它没有使用过多的内存 - 实际上应用程序似乎使用Web主机上已分配内存的一小部分。
这里的登录方法,用于:
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;
}
在我的虚拟主机,窗体身份验证超时设置为60分钟,所以这不应该是一个问题,对不对?
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="60" />
</authentication>
和我的会话状态的超时值也被设置为60分钟:
<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="60">
基于答案here,我加入这行也,这似乎并没有解决这个问题:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps"></machineKey>
任何想法,以什么问题可能是什么,我可以做什么来解决这个问题?
我目前都设置为60,我的理解是60分钟,这应该足够多了。我把超时值增加到了一个更大的数字,看看这是否会产生任何影响......但事实并非如此。 – 2013-04-30 20:23:19
它超时之前有多久,还是似乎来自特定页面或控制器? – 2013-04-30 20:42:43
我想说,用户会话保持有效期不超过1或2分钟...有时更多,有时更少。这似乎无关紧要哪个控制器被调用。 – 2013-04-30 21:31:41