我不知道他是不是跟我情况一样,我们这边强制要求不许使用cookie,然后所有用户缓存都存session…………
[quote=引用 33 楼 shoppo0505 的回复:] 内存暴涨 确实因为session里存储了数据。 但是load数据到session的之前会判断session的当前状态,所以,不会不会被加载多次。 你最后两句就不回答了。
内存暴涨 确实因为session里存储了数据。 但是load数据到session的之前会判断session的当前状态,所以,不会不会被加载多次。 你最后两句就不回答了。
[quote=引用 14 楼 shoppo0505 的回复:] 现在问题解决了,解决方法是我减少了session的数量,比较少用的数据会实时从数据库加载,而不是采用session保存的方式。 所以你这个问题我就不回答了。
现在问题解决了,解决方法是我减少了session的数量,比较少用的数据会实时从数据库加载,而不是采用session保存的方式。 所以你这个问题我就不回答了。
我没有无中生有的本事,要知道代码在什么方面会有问题,总是先要看到代码的 SelectedIndexChanged 要在 cmb 的的值发生变化时才会被触发 session 是私有的缓存机制,如果你要在两次 SelectedIndexChanged 之间缓存查询数据,显然是不妥当的
[quote=引用 13 楼 From_TaiWan 的回复:] 我的知觉告诉我,你control加载数据有问题,会不会是递归加载,或者陷入死循环,或者反复加载... 请贴出control加载数据的代码 dropdownlist事件不可能有时候触发,有时候不行,估计是在等待数据加载完成,而这个加载一直在进行
你可以在类似代码this.cmb.DataBind();这类地方设置一个 vs 调试器断点,然后使用 Button 测试来测试,当你点击测试 Button 的时候,绝不可能执行 DataBind() 这类代码。因为 asp.net 服务器控件是自动使用 ViewState 保存所有状态数据、并且自动重建整个深层次控件的。如果你自己的 DataBind() 了那岂不是画蛇添足、不但造成巨大的性能问题而且也破坏了原来的控件了嘛!
this.cmb.DataBind();
诸如减少数据缓存之类的鸵鸟战术,虽然往往是有效的,但是治标不治本 如果你坚持是你的代码没有问题,那么我只能说你的整体逻辑出问题了
https://www.cnblogs.com/xiaoma-qi/p/5508407.html
110,499
社区成员
642,576
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧