私が観察している現象に関する質問を既に投稿したことは認めますが、さらに調査した後、少し異なる角度からここに来て、別の方法でタグ付けしています。
私はページを持っています - WorkflowDetail.aspx - クラスファイル - WorkFlowDetail.aspx.vbに支えられています。そのクラスは、Spring.Web.UI.Page から継承する BaseClass1から継承します( BaseClass1には関連する ASPX はなく、いくつかの共通のプロパティとメソッドのみがあります)。
WorkFlowDetailのNew()メソッドにブレークポイントを設定しました。ブラウザーでページを表示すると、コンストラクターが数回実行されることがわかりました。誰がなぜそれを実行しているのか知りたいのですが、スタックには " [External Code] " しか表示されません。
これは、 Springに DAO プロパティをページに挿入させようとしていなければ、怠惰な好奇心にすぎないか、せいぜい小さな煩わしさでしかありません。何が起こるかというと、Springがインジェクションを行います (デバッガーがNew()で停止すると、スタック上のすべてのSpringメソッドを確認できます) が、ページの新しいコピーが " [External Code] " によって作成されるため、これは、プロパティが挿入されたページのインスタンスとは異なるページのインスタンスであるため、nullである DAO プロパティにアクセスします。
これはすべて、統合された IIS 7.5と、 .NET 4.0をターゲットとするVS2010に組み込まれたWeb アプリケーションで発生しています。.NET 3.5をターゲットとするWeb サイトであるSpringのNorthwindサンプルのページに同様のブレークポイントを設定すると、Springがページをインスタンス化するときにヒットし、それだけです。
誰かがこれらの余分なインスタンス化の原因を教えてもらえますか、またはどのように見つけることができますか?