如何在 Silverlight 测试中访问 Dispatcher?

发布于 2024-08-10 14:31:18 字数 388 浏览 9 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

韵柒 2024-08-17 14:31:18

我必须添加对 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文