Dispatcher CheckAccess 的用途是什么?

发布于 2024-08-08 22:28:32 字数 204 浏览 3 评论 0原文

在完成事件的异步 Web 服务上,有一个代码,例如:

Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!

有人知道如果我删除此代码会发生什么吗? 或者,能回答我的问题吗?

On Async webservice on complete event, there is a code such as:

Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!

Does anybody know what happens if I remove this code?
Or, able answer my questions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(1

梨涡 2024-08-15 22:28:32

这是一个调试断言。删除它不会对生产代码产生任何影响。

不过,它正在做的是使用 Dispatcher.CheckAccess () 来验证此时执行期间您是否位于 UI 线程上。如果从后台线程调用该方法,断言将会失败。

删除它可能会影响您将来调试它的能力。

That's a debugging assertion. Removing it will have no effect on production code.

What it's doing, though, is using Dispatcher.CheckAccess() to verify that you are on the UI thread during the exectution at that point. If you call that method from a background thread, the assertion will fail.

Removing this may have an impact on your ability to debug that in the future.

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