0

基本上我有一个在多个页面中持久存在的对象,所以我使用 Session 来保存和检索该对象。我正在为会话密钥使用 GUID。我使用静态构造函数来创建 GUID。

这是对象的示例:

class Customer
{
    private static readonly string _sessionKey;

    public static string SessionKey
    {
        get { return _sessionKey; }
    }

    static Customer()
    {
        _sessionKey = Guid.NewGuid().ToString();
    }
}

然后我在我的代码中使用它,如下所示:

Session.Add(Customer.SessionKey, new Customer());

...

Customer C = Session[Customer.SessionKey] as Customer;

我个人更喜欢这种方法,而不是 Session 键的 aconst stringstring文字。只是想知道这是否有任何缺点或您使用了哪些其他方法?

4

2 回答 2

4

为什么要这样做?您应该只定义常量并完成它。如果您迭代或将调试器与Session.

于 2012-08-13T20:51:37.987 回答
0

如果您Customer在会话中有对象 - 以常量名称保存。否则考虑Customer以常量名称保存对象集合。

注意:如果您打算使用其他状态提供程序(SQL/状态服务)而不是默认的内存中的提供程序,请确保您的Customer对象是可序列化的并且在请求之间有意义。

于 2012-08-13T20:57:55.120 回答