我有一个带有母版页的 asp.net 应用程序。我需要在 10 分钟后进行会话超时,为此我有一个 javascript 代码块。有没有其他更有效的方法来进行会话超时,而不是在每个页面上都有一个 javascript 代码块?(我没有使用会员提供者)。
问问题
5313 次
4 回答
3
您可以在 web.config 中更改会话的超时时间
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
stateNetworkTimeout="10"
sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
sqlCommandTimeout="30"
customProvider=""
cookieless="UseCookies"
cookieName="ASP.NET_SessionId"
timeout="10"
allowCustomSqlDatabase="false"
regenerateExpiredSessionId="true"
partitionResolverType=""
useHostingIdentity="true">
<providers>
<clear />
</providers>
</sessionState>
参考: http: //msdn.microsoft.com/en-us/library/h6bb9cz9 (vs.80).aspx
于 2012-07-22T16:19:38.313 回答
2
使用 javascript 是个坏主意,你可以在服务器上轻松地做你想做的事。
将此添加到您的 Global.asax
protected void Session_Start(object sender, EventArgs e)
{
Session.Timeout = 10;
}
这到你的 web.config
<configuration>
<system.web>
<sessionState timeout="10"></sessionState>
</system.web>
</configuration>
您需要同时添加两者以使其有效工作。
于 2012-07-22T16:19:49.817 回答
2
您可以简单地在服务器端执行此操作。在客户端没有时间安排您的会话。在这种情况下,您可以在母版页或 webconfig 或 global.asax 上集中执行此操作。
于 2012-07-22T16:20:31.823 回答
2
您可以通过添加以下内容来更改 web.config 文件以使会话超时:
<system.web>
<authentication mode="Forms">
<forms timeout="10"/>
</authentication>
<sessionState timeout="10" />
</system.web>
您可以使用以下代码从 c# 执行此操作:
Session.Timeout = 10;
于 2012-07-22T16:25:59.717 回答