【问题标题】:What is a good use-case for reading a HttpWebRequest's response stream asynchronously?什么是异步读取 HttpWebRequest 响应流的好用例?
【发布时间】:2013-04-08 12:58:48
【问题描述】:

我有这段代码并行使用了很多HttpWebRequest。它目前同步执行此操作,但我正在使用BeginGetResponse 将其更改为异步以提高性能。

现在我可以异步发送查询,但仍然可以同步读取响应流。混合两种模式是完全愚蠢的吗?异步读取流是否也有优势(比如花费更少的时间)?

【问题讨论】:

  • Silverlight/WinRT 需要它是异步的。
  • 我没有做 Silverlight 或 WinRT,所以与我的情况无关。

标签: .net asynchronous httpwebrequest


【解决方案1】:

混合两种模式是不是完全愚蠢?

一点也不。这取决于响应。

异步读取流是否也有优势(比如花费更少的时间)?

如果服务器正在流式传输响应并且数据包之间需要相当长的时间,那么异步读取响应流也可能会有所帮助。

如果服务器只是以一个块的形式发送响应,您必须决定是否值得为实现异步读取付出额外的努力和复杂性。


根据经验,异步运行最重要的部分是,如您所说,BeginGetResponse。否则,您总是使用线程等待服务器生成响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    • 2014-03-06
    相关资源
    最近更新 更多