减慢Silverlight Prism模块加载的最佳/标准方法(用于测试)

时间:2010-08-29 10:12:21

标签: silverlight testing prism modularity

在基于模块化Prism的Silverlight应用程序的localhost测试期间,XAP模块下载速度过快,无法感知最终结果。这使得很难看到需要显示进度,闪屏或其他视觉状态的位置。

有意减慢本地开发设置中XAP模块和其他内容加载的最佳(或最标准)方法是什么?

我一直在添加偶尔的定时器延迟(通过基于代码的故事板),但我更喜欢我可以将置于引擎盖(比如Unity加载器?)中添加一个所有模块加载和仅在调试版本中的实质性延迟。

建议欢迎*

*注意:我已经调查了“大文件”选项,对于大型项目来说是不可行的(并且无法使用内存错误的超大文件创建XAP)。解决方案需要基于代码,并且最好在幕后集成,以减慢本地主机环境中的模块加载速度。

****注意:为了澄清,我们特别寻求与Microsoft PRISM模式兼容的答案。 PRISM / CAL图书馆。**

2 个答案:

答案 0 :(得分:0)

您只需将大量文件(例如视频)添加到模块项目中即可。构建此类项目需要更长的时间,但它们也会更大,因此需要更长时间才能在本地下载。当你转向生产时,只需删除巨大的文件。

答案 1 :(得分:0)

不要向模块项目添加任何文件。这会为您的模块添加不必要的回归测试,因为您通过扩展非可执行部分来更改模块的布局。有可能你不会做这种回归测试,谁知道它是否会导致问题。最好是偏执狂。

相反,提出一个Delay(int milliseconds)过程,您将该过程传递给一个回调,该回调实现了用于检索远程程序集的回调。

换句话说,将程序集资源获取与程序集资源使用分离。在这两个阶段之间插入任意随机的等待时间。我还建议记录远程用户获取程序集的实际时间,并将其用于将来的测试点,以便您的UI设计师和QA团队提供有关用户等待时间的宝贵信息。这样您就可以廉价地模拟最终用户在QA环境中的体验。只需确保您的日志包含相关详细信息,例如所请求的程序集大小。

几周前我在StackOverflow上提出了一个关于something related to this的问题,并且不得不处理你提出的问题,所以我相信这是正确的答案,源于经验,而不是聪明。