1

我有一个 WPF 应用程序,其中我已经使用 Castle Windsor 类型的工厂来创建视图和视图模型。应用程序本身有一个 sdi 接口,并使用内置的 WPF 页面和框架组件进行导航。

因为我想在导航时释放页面上使用的所有视图模型,所以我尝试使用范围生活方式来实现这一点。基本思想是在显示新页面之前处理当前范围并创建一个新范围。

我现在的问题是城堡范围实现中的空引用异常是随机的。有时代码运行没有问题,有时它不会工作。

异常发生在 Castle.Windsor\MicroKernel\Lifestyle\Scoped\CallContextLifetimeScope.cs:Line 81 中的 Castle.MicroKernel.Lifestyle.Scoped.CallContextLifetimeScope.GetCachedInstance(ComponentModel instance, ScopedInstanceActivationCallback createInstance) 中。

您基本上认为这是一个好方法还是有更好的解决方案?如果你说这样也行,你对异常有什么想法吗?

谢谢马库斯

4

0 回答 0