NHibernateSessionFactoryの初期化中に「DynamicMethodの無効なタイプ所有者」エラーが発生した場合はどうなりますか。
1793 次
1 に答える
1
NHibernate SessionFactoryの初期化中に「DynamicMethodの無効な型所有者」エラーを受け取った場合は、遅延ロード/プロキシされたクラスの一部でジェネリックメソッドを使用している可能性があります。
Nhibernateには、プロキシクラスの作成を高速化するリフレクション最適化が組み込まれています。このリフレクションの最適化は、ジェネリックではうまく機能しません。スローされるエラーは、「DynamicMethodの無効なタイプ所有者」です。あまり友好的ではありません。
したがって、これを修正するには、ジェネリックメソッドの使用を停止するか、最適化をオフにする必要があります。最適化をオフにするには、SessionFactoryを初期化する前に次のコードを実行する必要があります。
NHibernate.Cfg.Environment.UseReflectionOptimizer = false;
于 2012-10-16T16:38:16.127 に答える