0

私はSharePointとASPを初めて使用するので、我慢してください...

ポストバック間で物事を維持するために、オブジェクトをセッション配列に永続化したいと思います。web.configファイルでセッション配列を有効にしました。基本的な値型または.NETFrameworkの一部であるオブジェクトを使用すると、すべてが正常に機能します。

しかし、クラスを定義するオブジェクトのインスタンスを保存しようとすると、エラーがスローされることなくプログラムをステップ実行できるにもかかわらず、「予期しないエラーが発生しました。」というエラーメッセージが表示されます。

オブジェクトをセッション配列に保存するにはどうすればよいですか?


編集:

したがって、提案されたようにコールスタックを開始した後、次のエラーが発生します。

セッション状態をシリアル化できません。'StateServer'および'SQLServer'モードでは、ASP.NETはセッション状態オブジェクトをシリアル化します。その結果、シリアル化できないオブジェクトまたはMarshalByRefオブジェクトは許可されません。「カスタム」モードのカスタムセッション状態ストアによって同様のシリアル化が行われる場合も、同じ制限が適用されます。

オブジェクトをシリアル化できると思います...構成ファイルにSQLServerを必要としないようにする設定はありますか?

4

2 に答える 2

2

カスタムクラスを[Serializeable]属性でマークします。クラスに他のカスタムクラスへの参照であるフィールドがある場合は、それらにも[Serializeable]属性があることを確認してください

于 2009-11-26T00:30:40.493 に答える
0

SharePointセッションのHttpModuleがweb.configで有効になっていますか?

<add name="Session" type="System.Web.SessionState.SessionStateModule"/>

web.configファイルでCallstack="true"を設定すると、おそらく「セッション状態が無効になっているため、[エラーの理由]」が表示されます。

于 2009-11-25T23:56:52.140 に答える