ASP.. NET web应用程序会话问题

本文关键字:会话 问题 应用程序 web NET ASP | 更新日期: 2023-09-27 18:16:50

我开发了一个ASP。. NET web应用程序,安装在"实时"IIS 7.5上。web应用程序使用http会话在登录用户的页面之间传递参数。这在我的开发机器上非常有效(在VS2010 IDE中使用本地IIS进行测试),但是当这个web应用程序上传到客户端的IIS并且他们开始使用它(Google Chrome和IE浏览器)时,在一些随机时刻会话变量似乎消失了。我的第一个猜测是通过web增加会话超时设置。

<configuration>
 <system.web>
  <sessionState timeout="20"></sessionState>
 </system.web>
</configuration>

但这似乎并不能解决问题。所以这让我想知道,还有什么其他关于会话的设置?就像一个内部文件夹,保存在实际的IIS上溢出的所有会话的缓存?什么好主意吗?

EDIT:根据@wy__的建议,我修改了网页。配置文件并开始在我的开发机器上看到同样的问题。这是整个系统。网页部分,就像我现在的样子:

  <system.web>
    <compilation targetFramework="4.0" debug="false"/>
    <pages validateRequest="false"/>
    <httpRuntime requestValidationMode="2.0" executionTimeout="110" maxRequestLength="262144"/>
    <sessionState timeout="20" cookieless="true" regenerateExpiredSessionId="true"></sessionState>
  </system.web>

我也检查了,只有一个w3wp.exe进程在运行。

ASP.. NET web应用程序会话问题

默认情况下,会话使用cookie来跟踪用户会话。如果您不确定用户是否关闭了cookie,您可以配置无cookie会话。

<configuration>
    <system.web>
        <sessionState cookieless="true" regenerateExpiredSessionId="true" />
    </system.web>
</configuration>