3 c# asp.net visual-studio-2010
我正在使用iis6来部署我的应用程序.无论我如何更改iis配置中的超时或我添加一个global.asax文件来设置Session.Timeout,甚至使用会话状态,我仍然在20分钟后获得会话超时,这太疯狂了!有人请帮帮我吗?我很困惑..
web.config中:
<authentication mode="Forms">
<forms name="__authcookie" loginUrl="LoginPage.aspx" timeout="60" protection="All" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
<sessionState mode="InProc" timeout="60" customProvider="AppFabricCacheSessionStoreProvider"></sessionState>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="NamedCache1" sharedId="SharedApp"/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
Run Code Online (Sandbox Code Playgroud)
在您的web.config文件中包含此内容:
使用web.config
<sessionState timeout="minutes"/>
Run Code Online (Sandbox Code Playgroud)
使用IIS
在Internet服务管理器中更改以下超时.选择大于默认值20的值.
选择默认网站>属性>主目录>应用程序设置>配置>选项.
启用会话状态超时并将会话超时设置为60分钟.
选择"应用程序池">"DefaultAppPool">"属性".
在"空闲超时"下的"性能"选项卡中,在空闲时为高于20的值设置关闭工作进程.
IIS上的默认会话超时设置为20分钟,但可以将其增加到最多24小时或1440分钟.
我最近一直在努力解决这个问题。似乎有很多地方可以设置超时,但是您的超时只会与设置最短的属性一样长。以下是我发现的一些事情......
每个人都建议检查web.config 文件中“ sessionState ”节点的“ timeout ”属性。这个值可以直接在 web.config 文件中编辑,也可以通过上面@Romil 描述的 IIS 配置进行编辑(尽管 UI 在更高版本的 IIS 中发生了变化,但设置是类似的)。
如果您正在实施表单身份验证,那么在 web.config 文件中还为此定义了一个额外的超时设置。在 web.config 中查找 ... system.web > authentication > forms节点,并将“超时”属性修改为所需的分钟数。
这是我忽略的那个……在 IIS 中(肯定是 7.5 版,也许更早,但我无法确认)右键单击关联的应用程序池并选择“高级设置”。在标题“流程模型”(必要时展开)下查找设置“空闲超时(分钟) ”。将其设置为所需的超时时间(以分钟为单位)。--说明:虽然sessionState > timeout设置会影响在浏览器中存储您的会话 ID 的 cookie 的到期时间,但是这timeout 实际上决定了工作进程(尚未使用的)何时应该关闭。一旦进程关闭,它就不再调用现有的会话 ID,因此浏览器 cookie 中的 ID 不再有用。
我希望这对那里的人有所帮助。这个问题让我疯狂了几个小时,除了设置 sessionState 设置之外,关于这个的信息很少,我真的很惊讶。
祝你好运,G
归档时间: |
|
查看次数: |
14593 次 |
最近记录: |