2009-12-18 85 views
1

是否可以在系統中設置一個不是每個用戶唯一的變量,誰訪問該頁面?asp.net系統變量?

Ex。

我訪問代碼隱藏一些頁面,這樣的:

// create variable over all 
if (sysstring != null || "") 
SystemString sysstring = DateTime.now; 

所以,如果另一個用戶已經訪問的網頁,我收到的日期值時,他訪問的頁面。

謝謝

回答

4

你正在尋找應用範圍:

string lastAccess = (DateTime)Application["lastAccess"]; 

本書雖然這將與每一個應用程序的循環復位。我建議將它存儲在數據庫中,這是所有跨用戶變量應該在的地方!

+0

謝謝你,我會嘗試 – 2009-12-18 15:23:16

0

您可以使用Application對象:

HttpApplicationState app = this.Context.Application; 
DateTime myValue = null; 
app.Lock(); 
try 
{ 
    myValue = (DateTime)app["key"]; 
    if (myValue == null) 
    { 
     myValue = DateTime.Now; 
     app["key"] = myValue; 
    } 
} 
finally 
{ 
    app.UnLock(); 
} 
0

爲什麼不只是使這個靜態的?

static string sysstring;

if(string.IsNullOrEmpty(sysstring)) sysstring = DateTime.Now;正如'Loren所說,除了將數據存儲在數據庫中之外,其他任何東西都會在應用程序回收時丟失。