如何在 Silverlight 测试中访问 Dispatcher?
我正在使用 SL 单元测试框架进行测试 (http://code.msdn.microsoft.com/silverlightut )。我的代码严重依赖于客户端-服务器通信,并且我在多个位置访问 GUI 调度程序,以确保仅在单个线程(即 GUI 线程)上访问重要数据。
这个调度程序在单元测试中似乎不可用 - 我尝试使用 Deployment.Current.Dispatcher 甚至创建了一个空白控件的实例来尝试使用它自己的调度程序,但两者都不起作用。即使我之后添加了 Thread.Sleep,Dispatcher.BeginInvoke() 内部的代码也永远不会执行。
I am using the SL unit test framework for tests (http://code.msdn.microsoft.com/silverlightut). My code is heavily client-server communications dependant, and I access the GUI dispatcher in several places to make sure important data is only accessed on a single thread (ie. the GUI thread).
This dispatcher seems unavailable in the unit tests - I have tried using Deployment.Current.Dispatcher and even created an instance of a blank control to try use its own dispatcher, but both don't work. The code inside of Dispatcher.BeginInvoke() just never executes, even if I include a Thread.Sleep afterwards.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我必须添加对 System.Deployment 和其他测试库的引用才能使 Deployment.Current.Dispatcher 正常工作。
现在效果很好。
I had to add references to System.Deployment and other testing libraries for Deployment.Current.Dispatcher to work.
It works fine now.