我正在開發WPF應用程序。 我有一些異步工作的定時器,它們是用System.Threading.Timer對象創建的。在C#WPF應用程序中異步調用與控件的委託方法
new System.Threading.Timer(
new System.Threading.TimerCallback(Timer_Function),
null,
timing,
timing
);
Timer_Function()
{
/*code that runs asynchronously */
}
爲了更新是在WPF查看我使用的委託方法被稱爲Dispatcher.Invoke否則編譯器將提高InvalidOperationException異常的控制(因爲不同的線程擁有它調用線程不能訪問該對象。)
我的問題是委託方法不會異步運行,我必須在其中做很多工作,以便應用程序停止。
我該怎麼做才能異步運行委託方法?
Dispatcher.BeginInvoke – 2014-09-11 13:29:19
感謝您的快速回復:-)。已經嘗試過,但仍然無法正常工作。 – user3492925 2014-09-11 14:19:23
Timer_Function中的代碼是否真的沒有運行異步? 「做了很多工作」的部分在哪裏? – FishySwede 2014-09-11 14:50:39