在会话变量中存储字符串,其中mode为StateServer

时间:2009-02-26 16:25:14

标签: asp.net session timeout

如果我在会话变量中存储字符串值,是否需要序列化或反序列化?当您在web.config

中使用时,我会读到这一点
<sessionState mode="StateServer" 
              stateConnectionString="tcpip=127.0.0.1:42424"
              stateNetworkTimeOut="60"
/>

您需要先序列化,然后才能将值存储在会话变量中,然后在检索值时进行反序列化。我想知道,例如,你只是将字符串值放在如下的会话中:

Session("MyStringVar") = "MyStringValue"

当你检索它时,你可以这样做:

DIm strVal as String
strVal = Ctype(Session("MyStringVar"), String)

此外,为此指定的超时是60,是几分钟还是几小时?

感谢。

2 个答案:

答案 0 :(得分:1)

没有。 .net运行时将负责所有这些。

但是,如果要存储未标记为可序列化的对象,则需要执行自己的序列化。此外,超时值以分钟为单位。

答案 1 :(得分:1)

对于web.config,您应该能够:

String myValue = ConfigurationManager.AppSettings["MyValue"].ToString();

对于Session和你可以做的字符串值,如果它不是一个字符串,用对象类型替换字符串......:

String myValue = (string)Session["MyValue"];