Silverlight控制在IE上加载卡住

时间:2011-02-18 18:48:41

标签: silverlight

在一些机器上,在某些配置中,我们看到在IE上使用Silverlight 4的一些疯狂行为。这是场景

1)我们自己的自定义Sharepoint WebParts中使用的Silverlight控件(使用标记加载)

2)页面上包含2个包含Web部件的Silverlight实例。这意味着2个对象标记,它们都指向同一个XAP文件,但是从该XAP加载不同的用户控件

在某些页面上(但不是全部),Silverlight加载似乎卡住了。 Silverlight控件不呈现,不调用对象标记的onload处理程序,并且Fiddler显示甚至没有下载XAP。与IE的一些交互(有时它在控件上盘旋,有时它点击控件区域)可以再次启动加载过程,xap将下载,onload被触发,并且控件被呈现。如果我让它静置很长时间(比如2-3分钟),有时装载会恢复并完成(但并非总是如此)。

由于它还没有下载XAP,它不是我们代码中的东西 - 它似乎因为某些原因导致加载被阻止。

这只发生在IE上,而不是Chrome或Firefox上。我们在IE8和IE7上看过它。在具有2个SL控件的每个页面上都不会发生这种情况,因此页面内容似乎很重要。我们也看到了在直接ASP.NET(在Sharepoint之外)运行Web部件的问题,尽管不那么频繁。

我尝试使用WinDBG进行调试,看起来有些线程在coreclr的内核中,但是没有调试符号所以我不能推断太多。

2 个答案:

答案 0 :(得分:1)

我在SharePoint中使用webpart for Silverlight应用。但终于发现它不是webpart的问题。在我的情况下,我从默认页面删除了所有webpart,最后发现SharePoint默认页面没有加载..我使用的是IE 9。

解决方案最后,我发现这是与Active X控件相关的问题。所以我去了Internet选项的高级选项卡,并重置/恢复所有设置。然后,一旦我开始浏览SharePoint网站的默认页面。然后弹出ActiveX运行请求。我允许微软公司的ActiveX。现在Sharepoint默认页面正确加载..

答案 1 :(得分:0)

这也发生在我身上。我在一个页面中加载了多个XAP,IE(有时是Safari)只是不做任何事情。什么都没有加载。通过使用Javascript API,它会在嵌入标记之前等待文档准备就绪。这样IE可以花时间处理JS,CSS,HTML,MetaTag等,然后在处理完所有内容时加载silverlight。