问题标签 [iasyncresult]

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 投票
0 回答
363 浏览

asp.net - 异步任务 _dlgt.EndInvoke(ar) 对象引用未设置为对象的实例

我正在开发一个需要执行异步任务的应用程序。我使用了http://msdn.microsoft.com/fr-fr/library/system.web.ui.page.executeregisteredasynctasks.aspx给出的代码的两倍

我只需将其复制并粘贴到我的应用程序中。不幸的是,我有一次抛出了一个错误,而另一个却完美无缺。

错误是:

我真的不知道如何摆脱这个错误,欢迎帮助。

0 投票
1 回答
1978 浏览

c# - 为什么我的 asyncResult 总是为空?

我有以下使用异步操作的程序,但返回的 IAsyncResult.AsyncState 始终为空。

我做错了什么?

0 投票
1 回答
233 浏览

c# - How to wait until a process finishes in EntityFramework?

I'm working with EntityFramework and Silverlight, and I'm dealing with this situation. When I try to load the data from a EntitySet, I have to get the data from a callback.

Now, I need to get the data inmediately, I mean wait until the process finished.

In the next code, the part which I'd like to wait the process is Objectives property. Or I don't know if I can convert the callback method into a IAsyncResult, or something like that.

0 投票
2 回答
2042 浏览

.net - IAsyncResult 模式的优势是什么?

我觉得如果许多类(例如TcpClient, UdpClient, HttpListener)是事件驱动的,它们会更容易理解和使用。而且IAsyncResult模式非常难以实现,因为它会为您打开各种奇怪的用例:

  1. 如果调用者连续调用多个 Begin 方法怎么办?
  2. 如果调用者混合了 Begin 和常规方法怎么办?

等等。尽管如此,微软还是选择在大多数地方使用它。为什么?

编辑:请将讨论集中在 .NET 2.0 上,因为这是我必须使用的。

0 投票
1 回答
269 浏览

c# - 异步套接字:在发送所有数据之前阻塞该线程

关于asynchronious sockets,我想知道在发送所有数据之前是否可以保留线程?

随着使用Socket.BeginSend

我在缓冲区参数内发送数据。我想知道是否有可能在所有数据真正从这里发送之前以某种方式阻塞线程(不考虑另一端是否收到数据)?所以我可以调用一个Socket.BeginReceive方法?

--

使用委托是否足够好ManualResetEvent(我称之为“sendDone”)?

例子:

这够好吗?或者有没有更好的替代方案?

谢谢ans

0 投票
1 回答
2649 浏览

c# - 调用 C# ASMX Web 服务

我有一个 ASMX Web 服务,我需要在工作中使用它。我通过 ASPX 页面调用此服务以在第 3 方系统上创建新实体。我无法访问该服务的底层代码,它只是为了让我与另一个系统进行通信。

我无法确定我是否正确调用了该服务,我想知道是否有人可以提供一些建议。

我已经安装了 ASMX 页面,这给了我一个名为“ConfirmConnector”的类,我称之为 BeginProcessOperations 方法。我想等待它返回然后解析结果。结果应该是 XML 格式,然后我会逐步获取我想要的数据。

问题是有时这个过程会在我身上消失,即当我调用我的“EndProcessOperations”方法时,什么也没有发生。我没有收到错误,什么都没有——我的代码死了,方法返回了

我的调用代码是:

我的处理程序代码是:

谁能建议我是否以正确的方式处理此代码,并且有人知道为什么我的代码在处理程序中的此行之后随机炸弹:

谢谢你的帮助,保罗

0 投票
1 回答
2395 浏览

c# - C# 中带有构造函数的 AsyncResult 类

我希望实例化一个 AsyncResult 对象,但在.Net Frameowork 中似乎没有可以实例化的带有构造函数的 AsyncResult 类。

有人可以在 C# 中提供 IAsynResult 接口的现成实现吗?还是有一些技巧方法来实例化 AsyncResult 对象?

编辑 1: 我正在 ASP.Net 页面中创建一个异步任务。在开始方法中,我调用了一个名为“AsyncBeginGetSummary”的数据层静态方法。

我通常会在此静态方法中使用 ADO.Net BeginExecuteReader,它可以完美运行,并且我不需要实例化 AsyncResult 对象。但是,如果数据对象存在于 ASP.Net 应用程序的缓存中,那么从“AsyncBeginGetSummary”的这个静态方法中,我不想调用 BeginExecuteReader。

但是,我仍然需要返回 AsyncResult 对象,以便可以调用 ASP.Net 中任务的 End 方法。我的 ASP.Net 页面代码如下所示。

编辑 2: 我有以下内容,我不需要为实例化 AsyncResult 对象而烦恼,因为我使用虚拟方法委托来调用 BeginInvoke。

编辑 3:我在 WCF 中使用了以下 AsyncResult 实现。我想我也可以在 ASP.Net 中使用它。

0 投票
1 回答
890 浏览

c# - Silverlight WCF 中的异步回调线程锁

我想出了一个关于如何伪造 SL WCF 对同步调用的支持的想法。

基本上,

发生的事情是这永远循环。

我在 while 循环上设置了一个断点,将其移出并恢复执行,然后在下一毫秒结果到达。

因此,我认为用于接收结果的查询的回调将排队到调用查询的同一线程中。

SL 似乎非常坚决地保持这种行为,所以即使我将其包装myQuery.BeginExecute在一个新线程中,我仍然会得到相同的行为。

/*编辑:实际上,考虑一下,它在等待的ui线程上排队回调。Dispatcher.Invoke这也是我们得到结果时不必这样做的原因。无论如何,我总是可以在专用线程中完成整个操作(需要等待),然后在那里等待,但这需要进行大量重构,避免尝试这样做的重点。*/

有没有办法解决?

0 投票
3 回答
2878 浏览

c# - 对于 FromAsync,BeginXXX 中的参数太多?

我有一个具有以下签名的异步方法:

我想像这样使用 Factory.FromAsync 执行它:

但我收到以下错误:

参数 1:无法从“方法组”转换为“System.Func”

似乎没有合适的重载 FromAsync 方法http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskfactory.fromasync.aspx,它最多只支持5个参数(包括回调和状态)在 BeginXXX 方法上。

除了重构 BeginXXX 方法以获取一个对象而不是六个参数之外,还有没有办法使用 FromAsync 来执行它?

0 投票
2 回答
3953 浏览

wcf - WCF 异步调用返回 void 并且是 OneWay

我使用 WCF 在 2 个进程之间进行异步通信。
到目前为止,我实现了 IAsyncResult 模式,并通过 3 个方法来实现:
BeginOperation - client.BeginOperation,当服务接收到它时,将线程池上的作业与 Operation
Operation 委托进行排队 - 在服务端
EndOperation 上运行 - 这就是客户端回调。

我的问题是,我想将字符串从客户端发送到服务,我希望发送是异步的,并且我不想得到响应 - 只想让服务打印字符串。
这够了吗 ?这必须是非阻塞的

或者我需要执行以下操作: