将Silverlight RootVisual与企业库5一起使用时出错

将Silverlight RootVisual与企业库5一起使用时出错,silverlight,unity-container,enterprise-library,enterprise-library-5,service-locator,Silverlight,Unity Container,Enterprise Library,Enterprise Library 5,Service Locator,我最初发布: 它的标题是激活问题,就像这个问题一样 然而,我的90%的时间都运转良好。这是在进行某些类型的ajax调用时发生的。这就像是缓存了一些东西而没有清除 冒犯的界线是 this.RootVisual = EnterpriseLibraryContainer.Current.GetInstance<MainPage>(); this.RootVisual=EnterpriseLibraryContainer.Current.GetInstance(); 我确实切换到使用U

我最初发布:

它的标题是激活问题,就像这个问题一样

然而,我的90%的时间都运转良好。这是在进行某些类型的ajax调用时发生的。这就像是缓存了一些东西而没有清除

冒犯的界线是

this.RootVisual = EnterpriseLibraryContainer.Current.GetInstance<MainPage>();
this.RootVisual=EnterpriseLibraryContainer.Current.GetInstance();

我确实切换到使用Unity容器,但我只是在容器上出现了一个不同的错误,而不是激活。似乎应该有一种方法来清除发生的任何DOM或缓存,这样“this.RootVisual”就可以使用Current的服务定位器或容器了。这部分操作正确:

this.RootVisual = EnterpriseLibraryContainer.Current.GetInstance<MainPage>();
this.RootVisual=EnterpriseLibraryContainer.Current.GetInstance();
这一定是你称呼它的方式。如果没有你的代码库,没有你的团队和你的项目,这是很难说的。我在Silverlight中使用了这段代码,没有任何问题(RootVisual仅在Silverlight中使用,甚至在WPF中也没有)

可悲的是,根据我对这个问题的研究,即使您改变为利用Unity容器,您最终也会遇到与使用“Current”相同的容器实例化问题

如果你不喜欢它,你真的要挖深,并使用小提琴等。。并在DOM中导航等。。把它弄明白。或者停止使用Silverlight等

这段代码非常常用,没有“大多数人”的问题。这里是一个例子


希望这有帮助,我希望我能解决你的问题。

嗯,遗憾的是,现在我没有得到我希望的答案。谢谢你的研究,我想这是一个很好的答案。