Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 访问会话中存储的词典或会话中存储的多个对象是否更快?_C#_Asp.net_.net_Session_Dictionary - Fatal编程技术网

C# 访问会话中存储的词典或会话中存储的多个对象是否更快?

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

我在ASP.NET应用程序的会话变量中存储了大约20个不同的变量。在每个页面上,我必须访问其中的5-7个变量。我的问题是,将所有会话变量存储在字典中并在我的页面上检索该字典会更快吗?还是从会话中检索所有7个变量更快?这两种情况中哪一种更快

//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。如果你能在整个页面周期中获得速度优势,我会感到惊讶。请与我们分享您的结果。