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.
不管他们的得分是多少。请向我解释公共共享变量及其对应用程序的影响。
已经尝试阅读它在微软无组织的圣经网站上,但可以包裹我的头,他们想说什么。解释是非常必要的,或者在回发之间保持数据的最佳方式是什么。
http://programmers.stackexchange.com/questions/148108/why-is-global-state-so-evil –
如果该变量应该是每个用户,你应该看看[会议](http://stackoverflow.com/questions/9623150/asp-net-session-variable),而不是公共共享。 –
谢谢@HansPassant你可以将你的评论写入一个答案,以便我可以选择它作为正确的答案。您的评论提供了我需要的洞察力。 –