我有一個搜索功能,完成後,將數據存儲在通用列表中(List<ViewModel>
)。到目前爲止,我一直在將viewmodel值分配給一個靜態變量,以允許我通過用戶可能使用的任何頁面請求重新使用數據。許多頁面請求共享複雜的對象 - C#MVC
雖然在今天的一些閱讀之後,似乎靜態變量值可以跨線程共享,這意味着如果我正在查看網站,則有可能通過修改包含我的搜索數據的靜態變量另一個用戶。
在我閱讀過程中,我看到了一些解決方案,例如將[ThreadStatic]
屬性添加到變量中,儘管這不但沒有效果,反而被我的進一步解讀徹底駁回爲不適當的解決方案。
其他人談到在HttpContext.Current.Items
中存儲變量,但我的理解是,它只能持續一個請求。
所以,我不確定這裏的最佳解決方案 - 理想情況下,我寧願不對應用程序進行太多的根本性更改,但總而言之,我希望能夠跨多個請求共享複雜對象?這樣做的最好方法是什麼?
非常感謝
感謝您的照顧 - 決定與會話繼續和它的正常工作。 –