【问题标题】:Errors using Silverlight RootVisual with Enterprise Library 5将 Silverlight RootVisual 与 Enterprise Library 5 一起使用时出错
【发布时间】:2013-03-02 12:15:47
【问题描述】:

我最初发布的是: https://stackoverflow.com/questions/15351024/intermittent-errors-with-enterprise-library-using-silverlight-calling-rootvisual

它的标题是像这个问题Activation error occured while trying to get instance of type LogWriter这样的激活问题

但是,我的 90% 的时间都可以正常工作。这是在进行某些类型的 ajax 调用时。就像某些东西被缓存而不被清除一样。

违规行是

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

我确实切换到使用 Unity 容器,但我最终得到一个关于容器的不同错误,而不是激活。似乎应该有一种方法可以清除发生的任何 DOM 或缓存​​,以便仅针对 silverlight 甚至在 WPF 中都没有的“this.RootVisual”可以准备使用 Current 的服务定位器或容器.

【问题讨论】:

    标签: silverlight unity-container enterprise-library enterprise-library-5 service-locator


    【解决方案1】:

    这部分你做得对:

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

    它必须是您调用它的方式。如果没有您的代码库并与您的团队一起处理您的项目,这很难说。我在 Silverlight 中使用此代码时没有任何问题(RootVisual 仅在 Silverlight 中,甚至在 WPF 中也不存在)。

    遗憾的是,根据我对这个问题的研究,即使您改为使用 Unity 容器,您最终也会遇到与使用“当前”相同的容器实例化问题。

    如果你不喜欢它,你真的将不得不深入挖掘并使用 Fiddler 等并导航 DOM 等。然后弄清楚。或者停止使用 Silverlight 等...

    代码非常常用,没有“大多数人”的问题这里是一个例子http://entlib.codeplex.com/discussions/285472

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

    【讨论】:

    • 嗯,在这一点上很遗憾我不是我想要的回应。感谢您的研究,我想这是一个很好的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    相关资源
    最近更新 更多