0

在我的 asp.net 应用程序中,我在 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="120" 
              allowCustomSqlDatabase="false" 
              regenerateExpiredSessionId="true" 
              partitionResolverType="" 
              useHostingIdentity="true">
  <providers>
    <clear/>
  </providers>
</sessionState>

<authentication mode="Forms">
  <forms loginUrl="~/login.aspx" 
         defaultUrl="Default.aspx" 
         cookieless="UseCookies"/>
</authentication>

但有时会话行为很奇怪

用户获得一个用户http://my.appl.com/S(DGsdgfg453dsgfsdgsdgsd)/mypage.htmlS(DGsdgfg453dsgfsdgsdgsd)会话密钥,但让他获得所有用户。仿佛UseCookies = false.

我重新启动应用程序,有时它运行良好。然后再一次。

我的申请有什么问题?

4

1 回答 1

0

估计是内存满了。我在 Session 中保留了一个大的序列化对象。

我在 Global.asax.cs 中添加

protected void Session_End(object sender, EventArgs e)
{
Session.Clear(); //?
Session.Abandon();
}

问题消失了。

于 2012-08-28T12:22:26.447 回答