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

silverlight - HttpWebRequest.EndGetResponse 在 Windows Phone 7 中引发 NotSupportedException

在 Silverlight-Windows Phone 7 项目中,我正在创建一个 HttpWebRequest,获取 RequestStream,向 Stream 中写入一些内容并尝试获取响应,但我总是收到 NotSupportedException:“System.Net.Browser.OHWRAsyncResult.AsyncWaitHandle 抛出了一个“System.NotSupportedException”类型的异常

我的生产代码要复杂得多,但我可以将其缩小到这一小段代码:

}

有人知道这段代码有什么问题吗?

0 投票
1 回答
220 浏览

.net - EndInvoke 的论点

我有一个委托 foo,我在其上调用 BeginInvoke 并将 IAsyncResult 检索到 var bar 中。

然后我打电话给 EndInvoke(bar) ,一切都很开心。

为什么我必须通过 bar 才能 endinvoke?这到底是怎么回事?我意识到 Endinvoke 是清除可能的资源泄漏所必需的,但是这个参数没有意义......

0 投票
2 回答
536 浏览

c# - 通过重建 AsynchResult 对象来模拟推送技术——这甚至可能吗?

最近,我使用 HttpAsyncHandler 成功创建了一个长轮询服务。在开发过程中,我想到(我)“可能”能够多次重用 AsyncResult 对象,而无需反复进行长轮询。如果可能的话,我可以通过以某种方式重新构建或重新使用 AsyncResult 来“模拟”推送技术(将第一个请求视为订阅请求)。

当然,第一次调用效果很好,但随后的调用不断给我“对象未设置为对象的实例”。我“猜测”是因为某些对象是静态的,因此,一旦“完成”就无法重用或检索(任何洞察力都会很棒!)。

所以问题是……</p>

是否可以从旧回调动态构建新回调?

最初的“订阅”过程如下:

以下是该服务的功能示例:

以下是 AsyncResult.ProcessRequest() 调用的示例:

那么……这样的事情可能吗?
我真的试过这个,但它没有用......但是“喜欢”的东西可能吗?

0 投票
1 回答
400 浏览

dotnetopenauth - DotNetOpenAuth 和异步 WebRequest (BeginGetResponse)

DotNetOpenAuth 示例不包含异步执行调用的示例。这是我的实现。我想知道我是否做错了什么。

需要明确的是,这对我来说很好,但是示例中的实现使用了一些对我没有任何明确结果的类;他们似乎检查内容编码设置是否奇怪,并验证响应不为空,无论如何我的代码都可能会抛出异常。他们似乎没有做任何事情,比如验证响应是否来自预期的服务器,这在我的特定场景中无论如何都不太可能,因为它是一个 HTTPS 请求。通过这种方式做事,我错过了什么吗?我当然在性能方面获得了很多!

0 投票
5 回答
5357 浏览

c# - Label.Text = Struct.Value (Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException)

我有一个正在处理的应用程序,该应用程序从 ISP(下载配额)轮询使用情况。我已经尝试通过'new Thread(ThreaProc)'进行线程化,但没有奏效,现在尝试基于 IAsyncResult 的方法来做同样的事情......我不知道如何纠正,请帮忙?

需要知道的:

0 投票
2 回答
312 浏览

.net - 可以在异步回调中进行繁重的处理吗?

是否可以在 .NET 的异步回调中进行繁重的处理,在返回之前将它们占用几秒钟?还是我剥夺了操作系统/重要资源的运行时?

例如,考虑TcpListener.BeginAcceptSocket. 我的回调从调用 开始EndAcceptSocket,然后花一段时间接收数据,然后才关闭套接字并返回。这是它的使用方式,还是我希望在我自己的线程上进行额外的处理?

0 投票
1 回答
523 浏览

sql-server-2005 - 使用 SQLCommand.EndExecuteNonQuery 时出现 SQL 语法错误

我正在尝试在后台工作人员中异步运行两个 SQL 语句(MSSQL 2005)。但是,当我在第一个 SqlCommand 上调用 EndExecuteNonQuery 方法时,我收到“SQL 语法错误附近”错误。

这是我的代码:

第一次失败count = sqlCmd.EndExecuteNonQuery(result);

0 投票
1 回答
1094 浏览

asp.net - 流程模型 minFreeThreads 说明

我一直在修改 .net 进程模型来解决一些吞吐量问题。我已经阅读了很多文章,但需要对 minFreeThreads 属性进行一些澄清。提高此值是否意味着保留更多线程来处理传出请求(调用外部 Web 服务)?

用例:我有一个异步处理程序正在等待回调以响应请求者。有一个计时器会导致请求超过时间限制以“无数据”响应。如果有 100 个这样的请求需要响应,那么高 minFreeThreads 值是否允许更多这些请求发出?

0 投票
2 回答
150 浏览

.net - 如何限制任务在 .Net 下运行的时间?

我知道有多种方法可以限制任务在 .Net 下运行的时间,我想知道我是否遗漏了其他任何方法,或者对我以前使用的方法进行了修改/改进。

在我不清楚方法论的确切功能的地方,我已经包含了有关它的问题。

我知道的现有方法虽然不一定自己使用:

  1. 创建一个Thread,轮询它完成一段时间然后终止线程。这个解决方案不是很好,因为它依赖于ThreadAbortException有点讨厌的 's,如果我记得你不能保证你的代码会在哪里退出,即它可能会留下未管理的资源在使用等。
  2. 使用该IAsyncResult模式,问题在于您可以等待一段时间,但没有一种简单的方法可以表明您希望中止请求,因此您必须依靠设置布尔标志(或类似的) 在异步代码中检查并导致它停止。这里的问题是,如果异步代码卡在代码的某个部分中,它可能会在实际终止之前继续运行一段时间。
  3. 我经常看到人们推荐BackgroundWorker异步的东西,但你可以在 ASP.Net 下使用它(我假设是这样),它是否有一种简单的方法可以在一段时间后终止异步进程?
  4. 使用 .Net 4.0 中的任务 API(目前我所有的工作都被限制在 .Net 3.5 中,所以不是我的选择)。从快速阅读 MSDN 文档看来,您可以使用 轻松取消任务,CancellationToken但取消生效的速度有多快,是否确保finally调用任何块。

欢迎所有解决方案/建议/方法

0 投票
4 回答
9617 浏览

c# - 如何创建立即完成的 IAsyncResult?

我正在实现一个需要实现BeginDoSomethingEndDoSomething方法的接口。但是,我DoSomething的运行时间并不长。为简单起见,假设DoSomething只比较两个变量并返回是否 a > b

所以我的 BeginDoSomething 应该是这样的:

我不知道我应该返回什么。我实施只是BeginDoSomething因为我必须这样做,而不是因为我的方法是长期运行的。我需要自己实现IAsyncResult吗?.NET 库中是否已有实现?