在完成事件的异步网络服务上,有如下代码:
Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!
有人知道如果我删除此代码会发生什么吗?或者,能回答我的问题吗?
在完成事件的异步网络服务上,有如下代码:
Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!
有人知道如果我删除此代码会发生什么吗?或者,能回答我的问题吗?
这是一个调试断言。删除它不会影响生产代码。
但是,它正在做的是使用Dispatcher.CheckAccess()来验证您在执行期间是否在 UI 线程上。如果您从后台线程调用该方法,则断言将失败。
删除它可能会影响您将来调试它的能力。