2009-10-23 18 views
3

在上完成事件異步Web服務,有一個代碼,如:Dispatcher CheckAccess的用途是什麼?

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

有誰知道,如果我刪除此代碼會發生什麼? 或者,能夠回答我的問題?

回答

7

這是一個調試斷言。刪除它將不會影響生產代碼。

它在做什麼,但是,使用Dispatcher.CheckAccess()來驗證您在執行期間是否在UI線程上。如果您從後臺線程調用該方法,斷言將失敗。

刪除此操作可能會影響您將來調試該功能的能力。

+0

優秀!非常感謝你的裏德。 – ariso 2009-10-23 15:51:49