我使用VS2010,C#開發我的ASP.NET Web應用程序,有時我需要在我的代碼隱藏文件開始時聲明公共或甚至公共靜態變量,以便我可以在文件中全局訪問它們,並且它們在回發之間保留它們的值,在本地服務器上一切正常(因爲我是運行代碼的唯一人員)。但我不確切知道當這個頁面(以及它的代碼隱藏)同時由多個網站訪問者運行時會發生什麼,我希望我的程序對所有用戶運行相同,但我認爲這樣做導致的問題,我記得從我以前的ASP.NET經驗,在代碼隱藏中使用變量(公共或公共靜態)可能會導致對網站的不同用戶的誤解,例如: 用戶A運行程序,(公共靜態int)my_int在啓動時值-1爲100,此時用戶B運行相同的頁面,因此my_int爲100,這會導致問題,並且假設用戶A離開頁面,而my_int的值爲100,那麼用戶B將訪問頁面my_int最初爲100(而應該是-1),所以我認爲會出現意想不到的行爲ASP.NET變量對於不同用戶的價值
是不是正確?這會發生嗎?如果是這樣,我該如何預防呢?我應該使用會話而不是變量?我怎麼能有關於整個情況更加了解
感謝網友
正如我所說的,當我在本地主機上開發我的應用程序時,一切正常,變量有它們的值和算法正常工作,但目前我是唯一運行該網站的人,所以我認爲當許多用戶同時訪問我的頁面時,我會遇到問題 –
@rahularyansharma根據定義,靜態變量會執行此操作,前提是工作進程未被重置。 –