我正在使用一個簡單的ASMX Web服務,該服務使用戶能夠添加註釋。對於添加的每條評論,我都會爲該行添加一個時間戳。我遇到的問題是,如果我將兩個評論相隔1秒,它們都將具有相同的時間戳。而不是在我的代碼中使用DateTime.Now
我使用靜態類,這樣我就可以輕鬆編寫單元測試。當請求日期時間時,自定義時間課程被凍結
這裏是我Time
類:
public class Time : IDisposable
{
public static DateTime Now;
static Time()
{
ResetToDefault();
}
public static IDisposable Freeze(DateTime dateTimeToFreeze)
{
Now = dateTimeToFreeze;
return new Time();
}
void IDisposable.Dispose()
{
ResetToDefault();
}
private static void ResetToDefault()
{
Now = DateTime.Now;
}
}
我猜這個類是罪魁禍首,因爲如果我更換的Time.Now
所有實例DateTime.Now
一切正常。
什麼導致我的Time
類凍結,並且在請求當前時間時不總是刷新?
「凍結」是什麼意思?它會給你一個錯誤消息還是隻是停止響應? – DangerMonkey
我的意思是,如果我要求'Time.Now'兩次相隔一秒鐘,我會得到相同的'DateTime'。 – Nosila
你把它處理掉了嗎? – DangerMonkey