2013-10-09 22 views
0

我在.NET 4.0的WebForms,並在一類我有這個變量:這個變量是否對整個項目「固定」?

public static readonly string twitter_aggrega_nonce = Convert.ToBase64String(new ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString(CultureInfo.InvariantCulture))); 
public static readonly string twitter_aggrega_timestamp = Convert.ToInt64((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds).ToString(CultureInfo.InvariantCulture); 

因爲我不能將它們設置爲const,我想知道,如果他們能「變」在這個過程中的某些方面。它們如何由.NET管理?是否有可能在應用程序的某個時間點訪問它,並且稍後有些「滴答」會得到兩個不同的值?

我需要它們在整個過程中都是一樣的,但每次過程開始時都會有所不同。希望很明確我想實現什麼...

回答

3

static變量對於AppDomain的生命是活着的。只要您的應用程序保持打開狀態,您的static readonly變量將永遠不會改變。除非您在靜態構造函數中更改它們。

+0

但是,當他們建成?流程何時開始?或者每次我打電話給他們都是「計算」的? – markzzz

+0

它們在未確定的時間初始化。靜態初始化取決於實現。但是,保證它們在應用程序中首次使用之前進行初始化。 –

+0

好吧,所以在時間X和X + 1時調用這些變量意味着即使它們固定在Ticks時間,我也會始終獲得相同的值。我需要的;) – markzzz

相關問題