问题标签 [begininvoke]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
21616 浏览

c# - Dispatcher.Invoke 与匿名委托在 Silverlight 但不是 WPF

在 Silverlight 4 中,我有一个自定义服务类,它有一个异步 Completed 事件。在 Completed 事件中,我获取返回的数据并通过以下方式调用填充方法:

BeginInvokeSL4 中工作,但是当我将它移植到 WPF 时,我收到以下错误:

无法将 lambda 表达式转换为类型“System.Delegate”,因为它不是委托类型

我尝试将其更改为内联、匿名、参数化的委托:

但是,这会产生相同的编译时错误。

知道如何让它在 WPF 中工作吗?重构以使用BackgroundWorker对我来说不是一个选项。

0 投票
4 回答
2241 浏览

c# - c# BeginInvoke 问题

我有一个程序对数据库进行大量调用,然后更新 UI。这会导致问题,因为在大多数情况下,这意味着 UI 没有响应。因此,我决定将访问数据库和更新 UI 的函数调用放在单独的线程中,所以现在我有这样的东西:

但是,它似乎对 UI 没有任何影响。我在某处读到,如果要在单独的线程中运行的代码需要更新 UI,那么这就是应该进行调用的方式 - 这是正确的吗?难道我做错了什么?

0 投票
3 回答
4440 浏览

c# - Delegate.BeginInvoke 延迟

有时在调用 Delegate.BeginInvoke 时,执行委托方法需要超过一秒的时间。

延迟的原因可能是什么?我每天在一个连续运行的应用程序中遇到这个问题 1 或 2 次。

请帮我。

谢谢!

0 投票
3 回答
1867 浏览

c# - 为什么要通过 Delegate.BeginInvoke 调用 InvokeRequired=False?

由于这个新线程是通过委托创建的,因为什么原因this.InvokeRequired等于Falsewithin ?InitUIState()

我的问题是我的标签从未被设置并且this.BeginInvoke()从未执行,我想这是由于事实InvokeRequired= False

我一次又一次地使用这种模式,但由于某种原因,这一次它没有执行:P(是的,只有一个InitUIState()被调用的实例,即来自委托)

多谢你们。

验证两个不同线程的图像:http:
//imgur.com/mq12Wl&X5R7G
http://imgur.com/mq12W&X5R7Gl

后续问题:这是创建线程的不受欢迎的方式吗?我一直觉得它如此简单和轻量级。也许我应该使用thread.Start()并且我会避免这些问题?

0 投票
1 回答
102 浏览

function - 汇编器mov问题

可能重复:
Assembler mov 问题

我有下一个代码:

为什么我不能这样写?

所有来源:

谢谢!

0 投票
1 回答
1058 浏览

wpf - 有关从同一线程调用的 WPF Dispatcher.BeginInvoke 的问题!为什么?

我对 WPF 比较陌生。我正在检查一些看起来像这样的代码:

从评论中,我猜测原始代码认为这对于使 UI 更具响应性是必要的,但是,我的理解是 Dispatcher.BeginInvoke 只是在 UI 线程上运行一些东西。既然 buttn_Click 已经在 UI 线程上,那有什么意义呢?也许我误解了 Dispatcher 和 BeginInvoke。在这种情况下,我假设 Dispatcher 是此方法所在的类(即 MainWindow.xaml)所拥有的调度程序。有人可以启发我吗?

谢谢

0 投票
1 回答
176 浏览

c# - 将数据传入回调,是否保证接收到数据?

我的问题是:有一段这样的代码(通过回调合约进行通信)

和一个回调合约

我是否有保证消息将成功广播给所有客户端,即使有一些,比如说网络问题?我的意思是,服务是否会自动尝试一次又一次地传递消息,直到它成功,假设客户端一直处于连接状态,但在第一次传递过程中出现了一些问题。我问是因为我不知道是否必须编写额外的代码才能保证它(服务客户端确认消息等)我在 app.config 中启用了可靠会话,可靠会话是否解决了问题?

提前感谢您的回答

0 投票
2 回答
208 浏览

c# - 第 2 次 BeginInvoke 调用声明已完成。为什么?

我用 BeginInvoke 反复调用一个方法。每次通话后,我都会调用 EndInvoke。

问题在于,对于第二次调用,返回的 IAsyncResult 中的 IsCompleted 成员在 BeginInvoke 调用之后立即设置为 true。

这会导致故障,因为程序会认为第二次调用已完成。

为什么会这样做,我如何检测第二次通话何时真正完成?

0 投票
5 回答
1839 浏览

c# - 为什么有人要使用 Invoke()(而不是 BeginInvoke())?

有人告诉我 Invoke() 类似于普通的方法调用......那么为什么人们会选择使用 Invoke 而不是普通的方法调用呢?

我试图在网上搜索这个问题,我得到的是使用 BeginInvoke() 的优点,但是使用 Invoke() 的优点是什么?

0 投票
3 回答
2404 浏览

c# - 表单已关闭时调用错误

我正在尝试在从 sql 服务器查询的网格上显示一些信息。数据收集可能需要大约 10 秒,所以我不想锁定 UI 线程。

我目前有如下代码:

这在大多数情况下都有效,除非它所在的表单在更新完成之前关闭,否则它将因错误而崩溃:

在创建窗口句柄之前,不能对控件调用 Invoke 或 BeginInvoke。

我理解错误将是因为表单不再存在,所以当 finally 部分尝试在 UI 线程上调用该方法时它不能。

有没有更好的方法来做这件事?我想我可以处理调用错误,但它看起来很乱,我想我可能错过了一个更简单的方法。