我正在开发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