2012-01-01 67 views
2

我正在用C#ASP.Net編寫一個簡單的聊天Web服務,這是我新來的。服務器上的全局自定義類

服務器維護一個List<ConnectedUser>,其中ConnectedUser對象是一個持有ID,用戶名和等待消息列表的類。

我希望所有連接的客戶端都能夠訪問服務器上的列表。

我試過應用程序狀態,但我發現它不會保存自定義類,即使我讓它可序列化。我嘗試了一個持有全局變量的靜態類。在對服務的呼叫之間不會持續改變。

我應該怎麼做?謝謝。

+5

您需要一個數據庫。 – SLaks 2012-01-01 17:19:56

+0

這不會是非常耗時的運行時間,會導致SQL調用嗎?這是最有效的方式,還是有最好的數據庫管理系統? – Daniel 2012-01-01 17:25:59

+2

並非所有數據庫都是磁盤備份的。並非所有數據庫都使用SQL。如果您需要快速性能,我建議您使用內存表。 – 2012-01-01 17:33:25

回答

0

幾個選項(我們同時使用):

1)將值存儲在靜態類中,該靜態類在global.asax或第一個用戶請求中初始化。

2)將值存儲在HttpRunTime.Cache中,特別是如果需要定期刷新(可以在超時事件中刷新)。