-2

何日も解決策を見つけることができない奇妙な動作があります..私が経験する動作は、 コンテキストセッションがなく、遅延ロードされたプロパティ/コレクションにアクセスしようとするときによくある古典的なものですが、これは私の場合ではありませLazyInitializationExceptionno session or session was closed私は持っている:

  • Spring.NET にバインドされたリクエストごとのセッションOpenSessionInViewModule
  • セッションが開かれ、コンテキストにバインドされました (Web 要求)
  • lazy="extra" または "set" (マッピング セット コレクション) の "list" (マッピング リスト コレクション) としてコレクションを持つエンティティ (この問題は主に lazy=extra で発生します。)
  • エクストラカウント用のCount文はできているようですが、コレクション全体にアクセスすると例外がスローされます

通常の問題を調査した後:

  • セッションが開かれていません

  • オブジェクトはどのセッションにもバインドされていません

  • Session.Clearまたはへの呼び出しSession.Evict(そのため、削除されたインスタンスの遅延は機能します)

  • Spring.NET WebSupportModule が登録されていません

    これが発生する明確な理由は見つかりませんでした. でプロファイルを作成するとNHprof、新しいセッションで例外が表示されるという奇妙な動作が発生します。つまり、コンテキスト セッションは正しく機能しますが、例外がスローされると、その例外が視覚化されます。セカンダリセッションで..しかし、セッションを開くコードはなく、単一のコンテキストセッションが開かれます..

そのような状況を引き起こす可能性のある他の理由を知っている人はいますか? 前もって感謝します

4

1 に答える 1

0

コードを見ずに診断するのは困難ですが、問題はこれと非常によく似ています。リンクされたケースでは、セッションコンテキストを別の場所に設定することに加えて OpenSessionInView が使用され(最初の2つの箇条書きと同様)、WebSupportModuleは登録されていませんでした(最後のポイントのように)。

一方、Spring.NET については何も知りません。

于 2012-12-17T19:14:56.613 に答える