2015-10-14 70 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你可以將你的評論寫入一個答案,以便我可以選擇它作爲正確的答案。您的評論提供了我需要的洞察力。 –

回答