我需要爲整個項目創建一個全局ArrayList或Array。全局數組/列表。類?處理程序?複製和粘貼?
我有一個asp.net C#項目。我從數據庫加載數據
事情是我需要在多個頁面中使用數據。 與其複製代碼並將其粘貼到所有頁面中,是否有辦法制作全局代碼?
我知道製作一個公共靜態類並從其他頁面調用它。我知道沒有太多是真正的全球性。
但是類怎麼樣?還是.ascx?處理程序?
什麼可以使用,哪個更好?
或者我必須複製並粘貼?
我需要爲整個項目創建一個全局ArrayList或Array。全局數組/列表。類?處理程序?複製和粘貼?
我有一個asp.net C#項目。我從數據庫加載數據
事情是我需要在多個頁面中使用數據。 與其複製代碼並將其粘貼到所有頁面中,是否有辦法制作全局代碼?
我知道製作一個公共靜態類並從其他頁面調用它。我知道沒有太多是真正的全球性。
但是類怎麼樣?還是.ascx?處理程序?
什麼可以使用,哪個更好?
或者我必須複製並粘貼?
您可以將數據放入Application變量中。在Web應用程序的情況下,靜態類不是更好的選擇。要設置應用程序變量
Application.Add("Key", data);
獲取數據
HttpContext.Current.Application["Key"];
使用Session緩存來存儲你的信息列表中的數據。這將使數據在內存中時可供多個頁面使用。由於每個用戶都有自己的會話緩存版本,因此此解決方案不允許在系統的所有用戶之間共享相同的數據;應用程序緩存處理該場景。
我也建議使用List<T>
而不是ArrayList
,因爲List<T>
是類型安全的。
應用程序高速緩存可供所有用戶使用,直到IIS重置或內存回收ASP.NET進程。如果您希望每個使用該應用程序的人都能訪問此數據列表,請使用此解決方案。 –
你爲什麼說一個靜態類不起作用? – djs
@djs ..你是對的。但是它更適合使用Application而不是靜態類。 –