2011-03-29 58 views
1

我有一個在.net 2.0中開發的web應用程序 我在會話中存儲大型業務對象,這些對象會頻繁更改。替代方式來存儲大型動態對象,而不是會話

有時我觀察服務器錯誤。這是否導致錯誤?

是否有任何替代方法來存儲這些對象?

在此先感謝

+0

你是什麼意思的「大型商業對象」,爲什麼你需要在逐個用戶的基礎上堅持他們? – Phill 2011-03-29 13:24:16

+2

另外,你得到什麼錯誤?如果您可以發佈例外情況,我們可以回答這個問題。 – 2011-03-29 13:25:20

+1

使用數據庫是因爲它應該存儲大型對象,如果它們頻繁更改,則更多。 – 2011-03-29 13:27:06

回答

0

將數據按用戶存儲在用戶的基礎上。

編輯

如果您想每5秒鐘閱讀一次,請緩存結果。

雖然可能不是解決方案。

+0

由於我每5秒輪詢一次數據,是不是會降低性能? – Chethan 2011-03-29 13:43:43

+0

緩存來自數據庫的結果,以便從緩存而不是數據庫讀取數據。只是一個想法,可能不適合你的需求,儘管 – 2011-03-29 13:45:29

+0

不知道數據是什麼,他不應該緩存它,他的查詢應該是〜1秒。 – Phill 2011-03-29 13:50:59

0

與會話中存儲業務對象相比,您可以更好地使用允許將數據存儲在數據庫中並在適當的時間段內緩存數據的體系結構。

使用會話的當前體系結構最終會產生擴展問題,除非將會話數據存儲在數據庫中,因此,您最好從數據庫中獲取數據。

0

根據您提供的數據,似乎不像問題是與性能相關的。

關於「對象引用未設置錯誤」。在我看來,有一個線程同步問題。在嘗試將會話對象設置爲服務調用的值之前/之前,會檢索並使用會話對象。您可以添加線程同步(ReaderWriterLock?)以查看是否最大限度地減少錯誤。