2009-02-26 5 views
2

セッション変数に文字列値を格納する場合は、シリアル化またはデシリアライズする必要がありますか?私はあなたのweb.configmodeがStateServerのセッション変数に文字列を格納する場合

<sessionState mode="StateServer" 
       stateConnectionString="tcpip=127.0.0.1:42424" 
       stateNetworkTimeOut="60" 
/> 

で使用するときは、あなたがセッション変数に値を格納することができます前にシリアライズする必要があることを読んで、あなたが値を取得するときには、デシリアライズするでしょう。たとえば、あなただけのようなセッションに文字列値を配置する場合、私は疑問に思う:

Session("MyStringVar") = "MyStringValue" 

とあなたがそれを取得するとき、あなただけ行うことができます:

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

はまた、そのために指定されたタイムアウトですそれは数分か数時間かかりますか?

ありがとうございました。

答えて

1

いいえ.netランタイムがそのすべてを処理します。

ただし、シリアル化可能とマークされていないオブジェクトを格納する場合は、独自のシリアル化を行う必要があります。また、タイムアウト値は分単位です。あなたが行うことができるはずweb.configファイルについては

+0

オブジェクトがシリアライズ可能である限り、セッション内にそれを保存するために特別な操作を行う必要はなく、テクニカルレベルでは文字列は単なる別のタイプのオブジェクトです。 – andleer

+0

@Andrew:あなたは正しいです。私の反応を読み返した後、私は明らかに正しい言葉を使わなかった。 – NotMe

1

:セッションとあなたが行うことができます文字列値の

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

、その文字列でない場合は、オブジェクト型の文字列を置換するには...:

関連する問題