c# - 会话开始在生产中不断触发
问题描述
我创建了一个 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
事件会一直触发?
解决方案
推荐阅读
- azure-storage - Azure 存储帐户(经典)- 仅使用帐户名称访问?
- python - 如何用python提取excel中的上标或下标数据?
- python - 在 matplotlib 中用相同的空间绘制不同大小的散点图
- javascript - php 中新行的 jQuery 语法是什么?
- flutter - 连接到 PHP Json Flutter
- python - 怎么不是和!Python中的不同?
- mysql - 为什么当值大于一定位数时结果不同?
- java - 消息气泡自定义可绘制对象
- web-audio-api - 存储来自自定义工作集的 Web 音频处理数据以转换为 wav 文件
- javascript - 一些href被分配,一些不在jquery/javascript中