2013-06-26 85 views
0

就我而言,我有一個由asp.net和C#中的幾個用戶共享的自定義論壇。我發現加載過程非常昂貴(爲不同目的而加入了幾個表)。用戶可以修改和添加新條目。但我不想加載每個用戶的對象。 考慮到靜態變量 - 特別是在可編輯時 - 不是線程安全的。我不知道這樣做的最佳做法是什麼。在ASP.NET中保留全局對象

+0

如果您在Web園或Web場上運行應用程序,則不能使用靜態來保留修改的數據,只能用於只讀數據,因爲每個請求上的每個靜態可能會不同。 – Aristos

回答

2

有一個簡短的答案...和這個問題的很長的答案。長的答案可以在programmers.stackexchange.com找到,簡短的答案就是我在這裏給你的。

我會建議(非常有條件地,因爲我不知道查詢的性質),您在數據庫中爲該複雜連接創建視圖,原因是數據庫將爲您緩存視圖並將更新它每次查詢所觸及的表都被更新。這意味着您只需對該視圖執行查詢,而不是現在正在執行的大量複雜查詢。請注意,這是一個短期解決方案,如果您的用戶數量增長,這可能會導致您的數據庫開始咀嚼CPU和RAM。

+0

謝謝Mgetz的回答。你能指出長答案的網址嗎?我認爲,如你所提到的那樣,觀點會暫時解決這個問題,但我渴望得到長久的答案。謝謝。 – beebee

+0

這是一個「一般」的長答案,因爲體系結構在程序員身上進行了討論。但是,如果你正在尋找一個特定的答案,我會強烈建議閱讀_實施域驅動設計_Vaughn Vernon – Mgetz

+0

感謝您的建議,我看了一下內容表。現在我明白你的意思了,回答很長;) – beebee