问题标签 [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 投票
2 回答
46107 浏览

c# - 关于 AsyncCallback 和 IAsyncResult 模式的两个问题

关于 AsyncCallback 和 IAsyncResult 的回调模式的两个问题。

我用一个代码示例改变了这个问题:

开始编辑
我开始看到发生了什么。我混合了 WCF 异步模式和普通异步模式。在 WCF 中,使用代理并且 Begin- 和 EndMethod 必须通过代理而不是函数委托。在 WCF 的情况下,铸造工作,在正常情况下不是。WCF 使用 [OperationContract(AsyncPattern = true)] 属性可能是为了强制执行一些不同的模式。结束编辑

为什么出错就行了return (string)(result.AsyncState);
生产代码中完全相同的模式是可以的。

其次,为什么不能在Test类的BeginMethod中调试代码?
我只能打破 WorkerFunction。

0 投票
5 回答
3844 浏览

c# - 等待另一个 IAsyncResult 的 IAsyncResult 方法(链接)

(只能使用 .NET 3.5 stock,所以没有任务,没有响应式扩展)

我有,我认为这是一个简单的案例,但我对此感到困惑。

简而言之,我将 BeginGetRequestStream 的 IAsyncResult 返回给 BeginMyOperation() 的调用者,并且我想真正将 BeginGetResponse 的 IAsyncResult 发回,它在调用 EndGetRequestStream 时被调用。

所以我想知道,我该怎么做

0 投票
1 回答
6149 浏览

c# - C# 如何将不仅仅是 IAsyncResult 传递给 AsyncCallback?

除了将 IAsyncResult 传递给 AsyncCallback 之外,如何传递?

示例代码:

我想传入示例变量bool iWantInToo。我不知道如何将其添加到new AsyncCallback(iEndGetResponse).

0 投票
1 回答
4624 浏览

c# - C# IAsyncResult 等待所有

在 WaitAll 的一些实现中,我看到了以下代码

这看起来对吗?在创建 waitHandles 数组之前调用完成之一的机会是多少?

问候, 达南杰

0 投票
2 回答
731 浏览

c# - IAsyncresult - 在不冻结 UI 的情况下进行轮询?

我有一个异步运行的 Windows svc(我编辑了方法及其参数以使其异步),有点像:http: //msdn.microsoft.com/en-us/library/ms731177.aspx

但是,我调用了我想要异步运行的任务(对服务/服务器的调用),然后更新 UI(在后台工作程序上使用 ReportProgress() - 所有这些都发生在后台工作程序的 dowork() 方法中)。但是,我调用 Endxxx 方法得到结果,但问题是,我的代码不应该是这样的吗?

但是,这种方法会锁定 UI。目前,我的代码是这样的(并且不锁定 UI):

它是否正确?这对我来说似乎是错误的。

0 投票
1 回答
438 浏览

wcf - WCF异步死锁?

有没有人遇到过 WaitAny 调用返回有效句柄索引但 Proxy.End 调用阻塞的情况?或者有任何建议或如何最好地调试这个 - 尝试跟踪,性能计数器(检查最大百分比),到处记录

测试场景:2 异步。请求正在发出(完整实现还有更多内容),第一个 Proxy.End 调用成功返回,但随后的块。我检查了 WCF 跟踪,并没有看到任何特别有趣的东西。请注意,它正在自我查询存在于同一进程和远程机器中的端点(=2 个异步请求)

据我所见,这两个查询的调用都在服务实现端进行,但它只是阻塞了后续的结束调用。不过,它似乎只需要一个调用就可以工作,无论它是将请求发送到远程机器还是发送给它自己;所以这与多个查询或导致锁定的其他因素有关。

我尝试了不同的“concurrencymode”和“instancecontextmode”,但它似乎对结果没有任何影响。

这是解析句柄列表的内部代码的精简版本:

以及调用它的代码:

我已经注释掉了启动节点上的回调(仅供参考,它实际上是一个 3 层设置,但问题被隔离到调用第 3 层的第 2 层 - 回调从第 2 层到第 1 层已被删除在这个测试中)。想法?

0 投票
1 回答
3049 浏览

asp.net - 脑筋急转弯:在异步 ASP .Net 页面中回调后 IAsyncResult AsyncState 为空

我真的可以在这方面提供一些帮助 - 我完全陷入困境:-(

我已经在我开发的搜索组件中实现了异步模式(希望是正确的)。这是从异步 Asp 调用的。网页,使用 RegisterAsyncTask。

当我的组件完成其工作时,它会调用提供的回调,传递一个 AsyncResult 并将 AsyncState 设置为一个值。调用回调时,调试器确认该值不为空。

当 AsyncResult作为参数到达页面主线程上的回调函数时 - AsyncState 属性为 null

这是搜索组件的相关部分:

这是调用页面的代码隐藏代码(此页面设置了 Async=true 和 AsyncTimeout 值):

0 投票
1 回答
420 浏览

asp.net - RegisterasyncTask 的 IsCompletedSynchronously

我正在使用 RegisterAsyncTask 在 aspx 页面中执行一些 IO 绑定操作。我有两个同样的问题。

1) 如果我在 OnBeginEvent 中执行 IO 操作并且 BeginfXXX 同步重新运行 (IAsyncResult.CompletedSynchronouslt = true),会发生什么情况。将调用 OnEnd 处理程序。

I just tested it by creating a mock IAsyncResult implemenation, and it seems neither the OnEnd handler is invoked and neither do the page rendering is completed (till the timeout event occurs). What should be done in such cases?

2) The question is something in line to the first one. Let say I register my async task. In the ONBegin handler, I perform some pre-Steps and depending on the pre-validation, I just need to return from the Onbegin event. Is it possible to return from the OnBeginEventHandler, with a null IAsyncResult (or mock). I tried using the same approach above and it doesn't seems to work.

Any help will be appreciated

Thanks

Kunal

0 投票
2 回答
415 浏览

c# - 异步函数进行异步调用

我有一个使用 BeginXxx EndXxx 异步模式的库(显然,以下代码已简化):

我正在尝试构建一个使用该库的类,并且它本身实现了相同的模式:

我尝试了几个解决方案(使用 ManualResetEvent),但我发现我的代码非常难看。在不丢失功能(回调、等待句柄......)的情况下,最干净的方法是什么(在 C#3.5 中)?

0 投票
1 回答
2707 浏览

c# - 带有 Action.BeginInvoke 的 ASP.Net 异步页面

我正在尝试在 asp .net 中编写一个异步页面,该页面在不同的线程中运行一个函数。以下代码中的问题是,当我调试它时,函数 EndAsyncOperation 永远不会被调用。结果,页面没有完全加载并且永远加载。我使用 Action 在与线程池不同的线程中运行代码。是否有另一种方法可以在另一个有效的线程中运行代码?

我哪里错了?

还有一个问题。我在 ASP .Net 中读到,页面是使用线程池运行的。那么,当我调试我的网站并尝试同时加载几个页面时,它们是如何同步加载的呢?