C# 访问会话中存储的词典或会话中存储的多个对象是否更快?
我在ASP.NET应用程序的会话变量中存储了大约20个不同的变量。在每个页面上,我必须访问其中的5-7个变量。我的问题是,将所有会话变量存储在字典中并在我的页面上检索该字典会更快吗?还是从会话中检索所有7个变量更快?这两种情况中哪一种更快C# 访问会话中存储的词典或会话中存储的多个对象是否更快?,c#,asp.net,.net,session,dictionary,C#,Asp.net,.net,Session,Dictionary,我在ASP.NET应用程序的会话变量中存储了大约20个不同的变量。在每个页面上,我必须访问其中的5-7个变量。我的问题是,将所有会话变量存储在字典中并在我的页面上检索该字典会更快吗?还是从会话中检索所有7个变量更快?这两种情况中哪一种更快 //Perform this for 7 variables if(Session["var1"] != null) var1 = Session["var1"] 或者这个: if(Session["dict"] != null) dict
//Perform this for 7 variables
if(Session["var1"] != null)
var1 = Session["var1"]
或者这个:
if(Session["dict"] != null)
dict = Session["dict"]
//Perform this for 7 variables
if(dict.TryGetValue(name, out var1))
//perform action
两者都试一下,衡量一下你的表现,你就会知道。我想,应该没有什么区别,即使有,也应该可以忽略不计。你问了我们一个只有你才能回答的问题。我们没有您的web应用,我们不知道您的会话状态提供程序是如何实现的。“访问”时间可以忽略不计。您的代码注释恰当地指出,可维护性是使用dict的真正好处。为什么要使用会话变量来存储此信息?会话存储为基于字符串键的hasmap。如果你能在整个页面周期中获得速度优势,我会感到惊讶。请与我们分享您的结果。