Vb.net 中 Public 共享变量的奇怪行为

Weird Behaviour of Public Shared Variable in Vb.net

我有一个用 vb.net 编写的 Web 应用程序,其中我使用 public 共享变量将每个 post 上的变量值保存回服务器。我注意到我的 application.Let 中有一个奇怪的情况,我通过以下示例进行解释:

  Public Shared totalScore as integer
  Private Sub CalculateTotal()
    method body..........
  totalScore = 45 (assuming the student gets 45)
  'totalScore value is stored in the database'
  after the processing i set totalScore back to 0
  end Sub

这就是将 totalScore 设置为 0 后的问题所在。我注意到对于 Web 应用程序的第一个用户,一切都很好,但对于后续用户 运行 此子例程 totalScore 始终为 0。

不管他们的分数是多少。请向我解释 Public 共享变量及其对应用程序的影响。

曾尝试在 Microsoft 未组织的圣经网站上阅读它,但我可以理解他们想说的内容。非常需要解释,或者在 postbacks 之间持久保存数据的最佳方法是什么。

每次您在浏览器中执行操作并在服务器上加载您的代码时,都会重新创建您的变量。在每次访问 Web 服务器之间,应该在其他服务器中保留最少的状态以提供可伸缩性。

如果您需要保持状态,则需要确定它是会话(仅针对一个用户)还是应用程序。查看这篇文章以获取有关如何操作的详细信息:http://www.c-sharpcorner.com/UploadFile/78d182/Asp-Net-state-management-techniques/