- - PR -
セッション状態モードをStateServerに変更したら
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-07 16:52
セッション状態モードをInprocからStateServerに変更しました。
アウトプロセスによりワーカプロセスの負荷を軽減する為に。 取りあえず変更すればそれだけで良いと思いましたが・・・・ Session情報に構造体を代入する時に以下のエラーがでました。 セッション状態をシリアル化できません。セッション状態モードが 'StateServer' か 'SQLServer' の時は、シリアル化できないオブジェクトまたは MarshalByRef オブジェクトは許可されません。 なんだこりゃと思って調べたら・・・MicroSoftのバグでした。 http://support.microsoft.com/default.aspx?scid=kb;ja;312112 そこで解決方法としてClassをSerializableにするようにと書いてあるのですが・・・ Classで宣言している場所には <Serializable()>Public Class MyClass 'Class code End Class こんな感じにして宣言を追加し 構造体で宣言している場所には <Serializable()> Public Structure rsdata Dim txt1 As String Dim txt2 As String End Structure と宣言してあげれば良いのがわかりました。 ではWEBコントロールの場合にはどうやればいいのでしょうか? 現在セッションに Session("SelectGrid") = myGrid.SelectedItem とかしているところが結構あるのですが・・・・そこでエラーになって しまいます。 WEBコントロールをSerializableするにはどうすればいいでしょうか? 教えてください。 |
|
投稿日時: 2005-06-07 17:05
回答ではないですが、WebコントロールはMVCでいうViewにあたるので
永続化されることを想定してないのだと思います。 |
1