1

ビューとビューモデルを作成するためにキャッスル ウィンザー タイプのファクトリを既に使用している WPF アプリケーションがあります。アプリケーション自体には sdi インターフェイスがあり、組み込みの WPF ページおよびフレーム コンポーネントをナビゲーションに使用します。

ナビゲーション時にページで使用されているすべてのビュー モデルを解放したいので、これを達成するためにスコープ ライフスタイルを使用しようとしました。基本的な考え方は、現在のスコープを破棄し、新しいページを表示する前に新しいスコープを作成することです。

私の問題は、キャッスルスコープの実装でnull参照例外がランダムに発生することです。コードが問題なく実行される場合もあれば、機能しない場合もあります。

例外は、Castle.Windsor\MicroKernel\Lifestyle\Scoped\CallContextLifetimeScope.cs:Line 81 の Castle.MicroKernel.Lifestyle.Scoped.CallContextLifetimeScope.GetCachedInstance(ComponentModel インスタンス、ScopedInstanceActivationCallback createInstance) で発生します。

基本的にこれは良いアプローチだと思いますか、それともより良い解決策はありますか? このようにしてもいいというのであれば、例外について何か考えはありますか?

ありがとうマーカス

4

0 に答える 0