我有统计报告,以图表的形式显示。多个用户可以访问 网页一次显示报告/图表。
问题是当单个用户从2个不同的浏览器(IE和Firefox)访问2个不同的报告时。 如果报告较大,则生成图表需要更多时间。因此,当用户在一个浏览器(FF)中打开一个大报告时, 当它正在加载时,如果用户在IE中打开另一个小报告,则会快速显示小报告图表。 但是大报告图表在完成加载时会有一些小图表的图表属性(图表名称)。
当一个用户使用同一浏览器的2个不同实例打开2个图表时,该问题不存在。在这种情况下, 第二个浏览器实例仅在第一个实例完成后才完成生成图表。
我使用锁(obj)来锁定生成图表的代码部分。 我的问题是,如果我使用此锁,如果多个用户访问该页面,它会如何影响性能? 更具体地说,是否让其他用户等到第一个用户完成生成图表?或者仅适用于使用不同浏览器的单个用户? 使用ASP.NET Framework 4。
我读了关于锁,asp.net会话状态,线程来理解这个上下文。但我仍然不确定。 请帮忙。