0

我对存储多个会话值的最佳方式有些困惑。我的一位朋友告诉我们,定义会话 3-4 次很重,而不是在 HashTable 中定义。就像下面的场景:问题是哪个更好以及为什么。

        Hashtable ht = new Hashtable();
        ht.Add("UserID", txtUser.Text);
        ht.Add("Type", type.Text);
        ht.Add("PaypalID", paypal.Text);
        Session["hashtab"] = ht;          //-- Is this better way or below one.

        Session["UserID"] = txtUser.Text;
        Session["Type"] = type.Text; 
        Session["PaypalID"] = paypal.Text; 

任何建议真的很感激!

请注意,在上面的场景中,我的 TL 告诉我哈希表在服务器上占用了少量内存(假设它需要 500 kb)而不是一个接一个(假设它需要 3MB)。

4

2 回答 2

1

我会使用第二种风格。

这不太可能是影响应用程序性能的领域。

如果您的会话状态正在进行中,则任何节省都可能微不足道。

如果您的会话状态保存在状态服务器或 SQL Server 中,那么 IPC 开销和序列化成本可能会淹没任何像这样的微优化。

于 2013-04-04T06:33:13.960 回答
0

第二种风格通常是首选,请查看:http: //msdn.microsoft.com/en-us/library/ms178581%28v=vs.100%29.aspx

另一方面,您也可以检查一下:ASP.NET: Multiple Session objects in a single application

于 2013-04-04T06:36:12.677 回答