19得票5回答
Invoke and BeginInvoke

您好,我正在使用C#开发应用程序。目前我在处理线程,有一个问题一直萦绕在我的脑海中。 Invoke和BeginInvoke有什么区别? 我阅读了一些帖子,在这里找到了一些有用的信息:here 但是在以下代码中,Invoke和BeginInvoke有什么区别:private void Proce...

16得票2回答
AsyncCallback和IAsyncResult模式的两个问题

关于 AsyncCallback 和 IAsyncResult 的回调模式,我有两个问题。 我改变了问题,并提供了一个代码示例:using System; using System.Collections.Generic; using System.Text; namespace Test...

16得票4回答
多个Control.BeginInvoke/Invoke调用会按顺序执行吗?

我需要知道Control.BeginInvoke和Control.Invoke调用是否按照它们被调用的顺序执行。 我有以下场景: 1. UI线程已被阻塞 2. WCF线程调用Control.BeginInvoke 3. WCF线程调用Control.Invoke(或可能是再次BeginIn...

12得票2回答
由于Dispatcher.BeginInvoke()的行为让人感到困惑

有人能够帮我解决一个问题吗? 我正在开发一个WPF项目,情景如下: 我需要弹出一个模态窗口在主UI线程上,然后关闭它。这些操作是从另一个UI线程开始的,以防止用户点击主UI窗口。然后我关闭这个窗口。主要代码如下所示。而且它可以工作。 据我所知,在没有使用调度程序的代码(即在UI线程上),...

11得票1回答
我能使用BeginInvoke与MulticastDelegate吗?

我想从我的库类中引发一系列事件,但我担心有些事件订阅者会很粗鲁,并且花费很长时间来处理某些事件,从而阻止引发事件的线程。我认为我可以通过使用线程池线程来引发每个事件来保护引发线程:if (packet != null && DataPacketReceived != null)...

11得票2回答
CLR定义的方法如[delegate].BeginInvoke在哪里有文档记录?

[编辑,完全改写:] 看起来我的问题确实措辞不当,并且也受到了不好的反应。所以我希望这次完全重述能够有所帮助... MSDN清楚地指定: Control.BeginInvoke() 在创建控件句柄的线程上执行委托,通常是GUI线程。而Dispatcher.BeginInvoke()将在创建...

10得票3回答
在MulticastDelegate上调用BeginInvoke?

根据Jon Skeet的说法,“您只能在具有单个目标调用的委托上调用BeginInvoke。” 为什么呢?真正的原因是什么? 注意:为了澄清(并且因为我犯了这个错误),我谈论的是委托上的BeginInvoke,而不是控件上的BeginInvoke。

10得票2回答
使用匿名委托的Dispatcher.Invoke在Silverlight中可以工���,但在WPF中无法工作

在Silverlight 4中,我有一个自定义的服务类,其中包含一个异步的Completed事件。在Completed事件内部,我通过类似这样的方式获取返回的数据并调用一个populate方法:private void service_Completed(object sender, Comp...

10得票2回答
Winforms转换为WPF:BeginInvoke变成了什么?

以下是我在WinForms中的旧代码: private void ValueChanged(double inValue1, double inValue2) { //only manual mode for this driver, so that's easy. ...

9得票3回答
BeginInvoke的@object参数应该传递什么?

我有一个事件委托,定义如下: public delegate void CallbackDelegate(Data data); public event CallbackDelegate OnDataComplete; 我异步地触发了该事件: // Raise the OnDataC...