首页 > 解决方案 > 会话开始在生产中不断触发

问题描述

我创建了一个 ASP.NET Web 表单应用程序,当我的 Web 应用程序在生产环境中运行时,Session_Start事件Global.asax不断触发。在本地运行应用程序时我没有这个问题。

我在事件中放置了一些日志记录代码Session_Start以查看它何时触发,并且在检查日志时我可以看到它正在触发多次。

当用户首次登录时,我正在更改web.config文件,因为我正在获取数据库和服务器信息以创建连接字符串,但这是我唯一一次接触web.config.

是什么导致应用程序不断创建新会话?

我以前使用inProc模式作为会话状态,并且由于这个问题在大约 10 分钟后会丢失我的会话变量,但现在我切换到使用模式SqlServer,并且在指定的超时时间内保留这些值。但是,在 Sessions 表中,当我是唯一一个当前使用该应用程序的人时,我可以看到不断创建新会话。另外,当我使用 Chrome 时,开发者工具ASP.NET_SessionId并没有改变。那么 Sessions 表中的所有这些条目是什么?为什么Session_Start事件会一直触发?

标签: c#asp.netsql-serversession

解决方案


推荐阅读