2013-11-26 51 views
-1

我已经使用了下面的这种方法,在会话超时后您将自动将其导向登录页面,但问题是,即使您正在执行某些操作,您将被重定向。重定向到会话超时后登录

AutoRedirect

是否有处理会话超时任何方法?

顺便说一句我正在使用ASP.Net C#

谢谢! (^ _ ^)b

+0

,如果你是董一些东西,犯规需要服务器的交互,那么你一定会得到不幸的是重定向 – Cris

回答

0

尝试下面的代码:

if(session["YourSessionName"].ToString()=="" or Session["YourSessionName"] == null) 

{ 

Response.Redirect("~/Login.aspx"); 

} 
0

即自动重定向看起来并不像一个好主意。

Session_End事件(在global.asax中)将在会话结束时触发,您可以重定向到登录页面;但是,请记住,如果您使用的是进程内会话状态(默认情况下),它将仅启动

如果您使用的进程外状态选项(状态服务器或SQL)之一,Session_End中不火,你将不得不使用一个HttpModule;试试这个 - http://www.codeproject.com/Articles/21156/ASP-NET-HttpModule-for-handling-session-end-with-S

希望帮助

1

用户按照web.config文件中值:

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login" timeout="1" defaultUrl="~/" /> 
</authentication> 

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="1"> 
    <providers> 
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> 
    </providers> 
</sessionState> 

这里我使用了默认会议提供商,但你可以使用自己的自定义会话提供商和超时您想要的值,但在表单选项卡和sessionState标记中应该相同。

它正在为我工​​作,因为你正在期待。

问候, 尼廷·乔希

+0

,我不使用形式的认证。 @ _ @ – user3035024

相关问题