我需要在會話狀態中存儲日期。在會話中存儲日期時間
在我的開發版本中,我使用InProc會話,所以當然,我只是將會話中的值作爲日期時間類型存儲,並且它可以工作。當我計劃發佈應用程序時,我將首先升級到SQL服務器會話,然後最終在Azure中部署應用程序,並使用AppFabric存儲會話狀態。
我的問題是這樣的:我可以保持會話原樣,還是我需要將日期存儲爲一個字符串與ToString()來設置和解析以獲取值?
謝謝。
我需要在會話狀態中存儲日期。在會話中存儲日期時間
在我的開發版本中,我使用InProc會話,所以當然,我只是將會話中的值作爲日期時間類型存儲,並且它可以工作。當我計劃發佈應用程序時,我將首先升級到SQL服務器會話,然後最終在Azure中部署應用程序,並使用AppFabric存儲會話狀態。
我的問題是這樣的:我可以保持會話原樣,還是我需要將日期存儲爲一個字符串與ToString()來設置和解析以獲取值?
謝謝。
如果在InProc會話狀態模式下使用外部數據存儲和任何對象,則可以在會話中存儲所有原始.NET類型或可序列化類型。所以在你的情況下,你不必轉換爲字符串,你可以將它存儲爲DateTime對象。
在SqlServer模式下,對象需要被序列化。當然,您可以使用DateTime對象,但複雜類型需要serializable屬性:
[Serializable]
public class ComplexClass
{
public DateTime MyDate { get; set; }
...
}
序列化是否自動處理? – frenchie
是的。您只需將類標記爲可序列化。 –
您不必這樣做。我很好奇,你爲什麼要把它作爲一個字符串存儲? – jacqijvv
出於某種原因,我認爲除了InProc以外的會話模式以鍵/值方式工作,字符串作爲唯一可接受的日期類型。 – frenchie
會話存儲在鍵/值對中,但值爲Object類型。這是ASP.NET會話上的MSDN鏈接http://msdn.microsoft.com/en-us/library/ms178581.aspx – jacqijvv