Silverlight响应迟到

时间:2014-07-10 07:08:19

标签: c# silverlight-5.0

我正在使用MVVM模式处理Silverlight项目。应用程序部署到远程位置。在浏览远程应用程序URL时,虽然相同的应用程序代码在本地运行良好,但我得到了较晚的响应。

我需要在服务器上检查什么? Silverlight插件是否会导致任何问题?我有Silverlight 5.0

我使用的是Windows 7 Professional 64位操作系统和IE 11

修改

获得如下警告,

enter image description here

1 个答案:

答案 0 :(得分:0)

之前我还没有看到过这个确切的错误,但这似乎是来自浏览器本身的错误。它只是意味着Silverlight陷入循环,或者在UI线程上运行一个非常漫长的过程。如果UI线程被锁定了很长一段时间,浏览器会抱怨它。

如果您正在使用某些WCF或REST,那么您将使用这些服务将异步运行而不是在UI线程上运行。这意味着应用程序将保持响应,浏览器不会抱怨。但是,如果锁定UI线程,则会调用浏览器的愤怒。因此,我的建议是简单地逐步执行代码,找出应用程序花费大量时间并陷入困境的位置。意外调用自身并最终导致堆栈溢出的方法通常是导致此问题的原因。

实际上,如果您在UI线程上运行了一个冗长的进程,则应该使用BackgroundWorker类将其移动到后台线程。 https://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.100).aspx

您也可以在Silverlight中使用async / await模式,但要在Silverlight中使用它并不是很直接。您需要包含async / await BCL NuGet包才能使其正常工作,因为Silverlight没有开箱即用的异步/等待功能。