Какова цель Dispatcher CheckAccess?
-
06-07-2019 - |
Вопрос
В асинхронном веб-сервисе по завершению события есть такой код:
Debug.Assert(Dispatcher.CheckAccess()); // don't do marshaling here- it's already runinng on UI thread!
Кто-нибудь знает, что произойдет, если я удалю этот код? Или, в состоянии ответить на мои вопросы?
Решение
Это утверждение отладки. Удаление этого не повлияет на производственный код.
Однако он использует Dispatcher.CheckAccess () , чтобы проверить, что вы находитесь в потоке пользовательского интерфейса во время выполнения в этот момент. Если вы вызываете этот метод из фонового потока, утверждение не будет выполнено.
Удаление этого может повлиять на вашу способность отлаживать это в будущем.
Не связан с StackOverflow