gpt4 book ai didi

windows - 使用 aspnet_state 服务的 session 损坏

转载 作者:可可西里 更新时间:2023-11-01 12:44:09 29 4
gpt4 key购买 nike

一段时间以来,我们一直遇到数据保存在 SQL 数据库中的问题。

有时,记录中保存的数据与行的其余部分不匹配,这让人觉得在某些时候,数据在被传递到数据库之前被“交换”为其他东西,也许是另一个用户的数据。

我们确实始终使用 TransactionScopes,隔离级别为 ReadCommitted,这让我认为数据完整性问题存在于应用程序中,而不是数据库级别。

我们确实广泛使用该 session ,我们开始认为损坏数据的时间与我们在白天向系统部署更新的时间相似。

我们确实使用 aspnet_state 服务在应用程序重新启动时保持 session 。

我们的用户依赖于终端 session ,因此多个用户都登录到同一服务器并通过浏览器启动系统。

我们过去曾注意到用户使用相同的域凭据登录,但我们现在相对确信用户现在使用唯一帐户登录。

99.9% 的数据是正确的,但我们一直在努力了解可能导致这种间歇性数据完整性问题的原因。

我们现在将我们的部署限制在工作时间之外,否则会死亡,但这并不总是可能的。

谁能阐明为什么/如何发生这种情况?

编辑:我们现在已经将其隔离到 DAL 层,参见 SQL query returns incorrect value in multi user environment

最佳答案

我最近一直在与此作斗争!,并且遇到了与您类似的问题,大约 95% 的数据写回是正确的。我查看了各种原因,罪魁祸首是网络上的一些用户下载了 Chrome 并在 Chrome 中打开了记录,破坏了我们的 session ID,因为 Chrome 忽略了 session 。

另一个原因是用户没有关闭浏览器或没有注销应用程序,从而允许同一用户或完全不同的用户选择和使用 session ID。

在引入浏览器检查然后拒绝 Chrome、教育用户确保他们注销、对非繁忙时段进行任何更新后,问题几乎消失了。

我忘了提,在你的 IIS 上,最好在输出缓存中关闭缓存,为用户和内核设置以防止缓存。

关于windows - 使用 aspnet_state 服务的 session 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36798072/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com