2015-10-14 44 views
1

我有一个用vb.net编写的web应用程序,我利用公共共享变量将每个帖子上的变量值保存到服务器。我注意到在我application.Let一个奇怪的情况我通过下面的例子说明一下:Vb.net中公共共享变量的奇怪行为

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.

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

已经尝试阅读它在微软无组织的圣经网站上,但可以包裹我的头,他们想说什么。解释是非常必要的,或者在回发之间保持数据的最佳方式是什么。

+2

http://programmers.stackexchange.com/questions/148108/why-is-global-state-so-evil –

+1

如果该变量应该是每个用户,你应该看看[会议](http://stackoverflow.com/questions/9623150/asp-net-session-variable),而不是公共共享。 –

+0

谢谢@HansPassant你可以将你的评论写入一个答案,以便我可以选择它作为正确的答案。您的评论提供了我需要的洞察力。 –

回答