Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重定向到会话超时时登录_C#_Asp.net_Session_Session Timeout - Fatal编程技术网

C# 重定向到会话超时时登录

C# 重定向到会话超时时登录,c#,asp.net,session,session-timeout,C#,Asp.net,Session,Session Timeout,我在下面使用了这种方法,在会话超时时,您将被自动定向到登录页面,但问题是,即使您正在做一些事情,您也将被重定向 有没有处理会话超时的方法 顺便说一句,我使用的是ASP.NETC# 谢谢!(^^^)b尝试以下代码: if(session["YourSessionName"].ToString()=="" or Session["YourSessionName"] == null) { Response.Redirect("~/Login.aspx"); } 自动重定向看起来不是个好主意

我在下面使用了这种方法,在会话超时时,您将被自动定向到登录页面,但问题是,即使您正在做一些事情,您也将被重定向

有没有处理会话超时的方法

顺便说一句,我使用的是ASP.NETC#


谢谢!(^^^)b

尝试以下代码:

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

{

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

} 

自动重定向看起来不是个好主意

会话结束时将触发会话结束事件(在global.asax中),您可以重定向到那里的登录页面;但是,请记住,只有在使用进程内会话状态(默认状态)时才会触发

如果使用进程外状态选项之一(状态服务器或SQL),则不会触发会话结束,您必须使用HttpModule;试试这个-


希望这有助于用户在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>

在这里,我使用了默认会话提供程序,但您可以使用自己的自定义会话提供程序和所需的超时值,但在forms选项卡和sessionState标记中应该相同

正如你所期待的那样,它对我有效

问候,,
Nitin Joshi

如果你正在做一些不需要服务器交互的事情,那么你肯定会被重定向。幸运的是,我不使用表单身份验证@_@