- - PR -
ASP.NET StateServerモードでの大量データ取り扱いについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-27 16:58
動作環境:Windows2003/IIS6.0 Framework1.1
ASP.NET1.1をStateServerモードで動作させています。 Datasetのデータをセッションに格納していますが、5千件を超えた辺りから 「セッション状態をシリアル化できません。セッション状態モードが 'StateServer' か 'SQLServer' の時は、シリアル化できないオブジェクトまたは MarshalByRef オブジェクトは許可されません」 と言ったシリアル化に失敗した様なエラーが発生し、System.OutOfMemoryExceptionが発生します。 少量のデータ件数ではエラーが発生しません。 Webconfigの[sessionState]に関連する[stateNetworkTimeout]や[timeout]を変更してみたのですが駄目でした。 本来、大量データをセッションに投入すべきでは無いとは思いますが、StateServerモードで運用する場合、実際にデータ容量制限等があるのでしょうか? もしくは何処かのパラメータの設定漏れが影響しているのでしょうか? | ||||
|
投稿日時: 2006-06-27 18:02
そのDataSetをBinaryFormatterでシリアライズしたときのサイズはどれくらいになりますか? http://www.atmarkit.co.jp/fdotnet/entwebapp/entwebapp06/entwebapp06_03.html | ||||
|
投稿日時: 2006-06-27 20:19
>そのDataSetをBinaryFormatterでシリアライズしたときのサイズはどれくらいになりますか?
大体15MB台までは正常に動いています。16MBを超えた辺りからエラーが発生します。 Windows2003ではこの状況ですが、開発環境のXpでは20MBを超えてもエラーは出ません。 XPでは25Mbくらいまでは行けるようです。 ちなみにWindows2003でも5MB程度のセッションを20多重で稼動させても正常に動作しています。 このことからTimeOutも疑って見ましたが、Datasetをセッションに格納し始めて1,2秒程度で発生しています。 [ メッセージ編集済み 編集者: 新之助 編集日時 2006-06-27 20:33 ] [ メッセージ編集済み 編集者: 新之助 編集日時 2006-06-27 20:34 ] |
1