我目前正在將Windows Phone 7應用程序轉換爲它的Web對象。應用程序使用一個大的主線程從中收集數據,並且目前我剛剛複製並粘貼它(僅僅是一個標準的線程操作),在我的ASP.NET MVC控制器中。在ASP.NET MVC 3中線程化
Sync _Sync = new Sync();
_Sync.StartSync();
任務工作確定,但因爲線程利用全球數據從餅乾套,設有2名不同的用戶名訪問頁面時出現的問題。例如,如果我在Firefox中使用「user1」登錄,然後嘗試使用其他用戶(例如「user2」)在Chrome中登錄,則它會自動更改爲第一位用戶收集的異步數據;這意味着我將始終看到從最後一位用戶登錄的數據(不管我最初是否與其他用戶一起在Firefox中登錄),而不是彼此獨立的數據。
換句話說,線程不會爲每個單獨的用戶單獨啓動。我如何解決這個問題?
'Sync'類型是否利用任何'static'字段或屬性來存儲用戶數據? –
「線程使用來自cookie的全局數據集」,這對我來說聽起來不太合適,也許當您創建「Sync」對象時,您可以爲其指定一個值,以便將其唯一地綁定到特定用戶,而不是使用全局變量。 – Matthew
@ChrisShouts是的,同步所需的所有全局字段都保留在靜態對象中。我應該每次創建一個新的實例嗎? – Kyprulez