Какова цель Dispatcher CheckAccess? - PullRequest
       33

Какова цель Dispatcher CheckAccess?

3 голосов
/ 23 октября 2009

В веб-службе Async по завершению события есть код, такой как:

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

Кто-нибудь знает, что произойдет, если я удалю этот код? Или, в состоянии ответить на мои вопросы?

1 Ответ

7 голосов
/ 23 октября 2009

Это утверждение отладки. Удаление его не повлияет на производственный код.

Однако он использует Dispatcher.CheckAccess () , чтобы проверить, что вы находитесь в потоке пользовательского интерфейса во время выполнения в этот момент. Если вы вызываете этот метод из фонового потока, утверждение не будет выполнено.

Удаление этого может повлиять на вашу способность отлаживать это в будущем.

...