在一个作用域中多次访问会话/ViewState
本文关键字:访问 会话 ViewState 作用域 一个 | 更新日期: 2023-09-27 18:21:45
当使用Session
属性时,set
/get
将被写为以下内容之一:
public int MySessionPro
{
get
{
return Session["MySessionKey"] == null ? 0 : Convert.ToInt32(Session["MySessionKey"]);
}
set
{
Session["MySessionKey"] = value;
}
}
或者如下:
public int MySessionPro
{
get
{
object mySessionPro = Session["MySessionKey"];
return mySessionPro == null ? 0 : Convert.ToInt32(mySessionPro);
}
set
{
Session["MySessionKey"] = value;
}
}
什么是更高效/更好的性能?第二种方法的第一种
通过将上面代码中的每个"Session"替换为"ViewState",同样的问题也适用。同样,这两种方法在效率方面是否不同?
无论是使用ViewState
还是Session
,答案都是一样的:除非ViewState
或Session
对象中有很多变量,否则性能差异将非常小。
在第一种方法中,查询变量的次数是第二种方法的1倍。
在第二个例子中,您只需要再设置一个变量。
由于查询变量需要更多的操作,而不仅仅是设置一个额外的变量,因此第二种方法应该比第一种方法更高效/更好。