asp.net多用户计算错误

asp.net多用户计算错误,asp.net,vb.net,Asp.net,Vb.net,如果之前已经提出/解决了此问题,则表示歉意。我已经做了相当多的搜索,但似乎找不到问题的直接答案。 我对asp/vb编码还是很陌生 我使用vb.net在asp.net中创建了一个复杂的计算器。 用户填写一些包含信息的文本框,然后单击“计算”按钮。然后,该程序访问sql 2014服务器,根据用户输入的信息收集更多信息,然后使用这些信息运行一些非常复杂的计算(我不完全理解其背后的计算) 这一切都很好,能够给出正确的答案,我发现的问题是,如果有一个以上的用户访问该网站,他们碰巧在同一时间内单击了计算按钮

如果之前已经提出/解决了此问题,则表示歉意。我已经做了相当多的搜索,但似乎找不到问题的直接答案。 我对asp/vb编码还是很陌生

我使用vb.net在asp.net中创建了一个复杂的计算器。 用户填写一些包含信息的文本框,然后单击“计算”按钮。然后,该程序访问sql 2014服务器,根据用户输入的信息收集更多信息,然后使用这些信息运行一些非常复杂的计算(我不完全理解其背后的计算)

这一切都很好,能够给出正确的答案,我发现的问题是,如果有一个以上的用户访问该网站,他们碰巧在同一时间内单击了计算按钮,那么首先单击计算按钮的人会得到一个错误,而第二次单击的人会得到一个答案

我不确定这是否与它如何访问sql数据库以获取信息有关,或者信息是否以某种方式被覆盖

我希望这会是一个常见的问题,但似乎找不到任何关于它的东西,至少我在搜索时可能没有提出正确的问题

不幸的是,出于安全原因,我无法发布任何代码(我会看看是否能获得许可),但我希望有人遇到过类似的事情,并知道解决方法。也许让站点等到第一轮计算完成后再开始第二轮计算


提前谢谢你的帮助

请确保在计算中不应使用任何共享变量,因为共享变量对于所有用户都是通用的。还要检查应用程序变量


我可以理解,但如果这些公共变量的值在某个位置发生了更改,那么无论在何处,该变量的值都将是新的,即使您正在进行某些处理。

请确保在计算中不应使用任何共享变量,因为共享变量对于所有用户都是通用的。还要检查应用程序变量;然而,有相当多的公共变量,这会产生与共享变量相同的效果吗?干杯,是的。请将您的公共变量更改为私有。@PiyushKhatri,我来试试。唯一的问题是,很少有sub在运行时多次使用同一变量,如果我将它们更改为private,则会出现以下错误:“'ArcX'未声明。由于其保护级别,它可能无法访问。”是否有办法解决此问题,或者我必须对多次引用的sub使用viewstate?我可以理解,但是,如果这些公共变量的值在某个位置发生了更改,那么无论在何处,该变量的值都将是新的,即使您正在进行某些处理。