2012-01-27 11 views
0

ASP.NETアプリケーションでjqGridコントロールを使用しています。 Excelにエクスポート機能は私にトラブルを与えています。コードは負荷分散環境になるため、セッション状態をSQLに保存しています。これには、シリアル化するためにセッションにダンプされたものが必要です。誰かがこれを回避する方法を決定するのを助けることができますか?excelにエクスポートするときにjqGridを使用してセッション状態をシリアル化できません

ここは吹いている:

if (JQGrid.AjaxCallBackMode != AjaxCallBackMode.None)
{
//save the last grid state in session - to be used for exporting
Session["gridFilterPageState"] = JQGrid.GetState();
}

これはエラーです:
セッション状態をシリアル化することができません。 'StateServer'と 'SQLServer'モードでは、ASP.NETはセッション状態オブジェクトをシリアル化します。その結果、非直列化可能オブジェクトまたはMarshalByRefオブジェクトは許可されません。同様の逐次化がカスタムセッションステートストアによって「カスタム」モードで実行される場合、同じ制限が適用されます。

答えて

0

IDで識別されるグローバル共有オブジェクトに状態を入れ、IDをセッション状態に保存するソリューションについて考えましたか?もちろん、あなたはいくつかのロックを扱わなければならないでしょうが、何かをシリアル化することはできませんが、ただ1人のユーザの要求にも必要な場合は、共有者、辞書(ID、OBJECT)などを作成し、セッション。

+0

私はあなたのケースでは静的なオブジェクトについて話していると思います – Luke