【发布时间】:2011-03-31 18:22:18
【问题描述】:
我有一个 ASP.net 应用程序,其中用户无法成功完成某些操作,我假设原因只能与丢失他们的会话有关(这是我维护他们当前用户信息的地方,并且如何判断是否登录)
我不知道他们为什么会失去他们的会话,所以我的第一个问题是:
什么(通常)会导致用户在 ASP.net 中丢失会话?
而且由于我不知道用户何时失去他们的会话并且自己无法重现它:
我如何跟踪我的用户何时失去他们的会话
以下是我的 sessionState 配置供参考
<sessionState
mode="InProc"
cookieless="false"
cookieName="My.Site.Com"
timeout="480"/>
【问题讨论】:
-
你可能想太多了。您说您“假设”会话正在丢失。这很可能是一场野鹅追逐。也许您可能会更好地分析您收到的异常并将其考虑在内。其他可能性包括使用网络场或集群的问题。由于会话模式为“InProc”,如果连接更改您身上的服务器,会话状态将丢失。
-
我知道我没有使用网络场,但我确定我在虚拟机上。诚然,我只是假设,但我大约 80% 确定它是会话状态,至少我想继续假设它是一个问题,直到我可以排除它。
-
对我来说,将机器密钥添加到我的 web.config 是有效的。我在共享主机上托管,此链接有助于创建一个本地然后发布它。 link