0

我需要在会话状态中存储一个日期。

在我的开发版本中,我使用的是 InProc 会话,所以当然,我只是将会话中的值存储为日期时间类型并且它可以工作。当我计划发布应用程序时,我将首先升级到 SQL 服务器会话,然后最终在 azure 中部署应用程序并使用 AppFabric 存储会话状态。

我的问题是:我可以保持会话原样,还是需要将日期存储为字符串,并使用 ToString() 设置并解析以获取值?

谢谢。

4

2 回答 2

4

如果您使用外部数据存储和 InProc 会话状态模式的任何对象,则可以在会话中存储所有原始 .NET 类型或可序列化类型。因此,在您的情况下,您不必转换为字符串,只需将其存储为 DateTime 对象即可。

于 2012-05-04T19:45:48.907 回答
1

在 SqlServer 模式的情况下,对象需要被序列化。当然你可以使用 DateTime 对象,但是复杂的类型需要可序列化的属性:

[Serializable]
public class ComplexClass
{
    public DateTime MyDate { get; set; }
    ...
}
于 2012-05-04T19:53:25.007 回答