我的 ASP.NET 应用程序遇到性能问题。有时客户端需要 30-40 秒来执行命令,而有时则需要 3-4 秒。我尝试了 SQL Profiler,没有发现任何问题。在客户尝试的相同场景下,我无法在我这边复制该问题。
我认为这可能与我正在使用的 session 变量有关。我使用了很多它们来在页面内传递信息。不过我没有清除它们。
如果我清除它们会有帮助吗?如果是这样,这会影响其他用户吗?还是仅对该用户清楚?
感谢任何帮助。
最佳答案
基于 SQL Server 的 session 存储的 .NET 2.0 实现中的一个存储过程存在记录锁定问题。看来 MS 在 .NET 4.0 版本中合并了该修复程序。
看这里: http://sanjevsharma.blogspot.com/2008/03/improving-aspnet-session-state-database.html
我 99% 确信您可以运行 4.0 版本的 aspnet_regsql -ssadd 并且仍然可以针对它运行 ASP.NET 2.0。我记得对 2.0 与 4.0 SQL 脚本进行了比较,上面的修复是唯一真正的区别。 MS 的修复实现比上面的链接要好一些(并且明显基于)。
关于ASP.NET session 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3798367/