我有这个代码并行使用了很多HttpWebRequest
。它目前同步执行,但我正在使用BeginGetResponse
将其更改为异步,以提高性能。
现在我可以异步发送查询,但仍然同步读取响应流。混合两种模式是完全愚蠢的吗?是否也有异步读取流的优点(比如花费更少的时间)?
答案 0 :(得分:1)
混合两种模式是完全愚蠢的吗?
完全没有。这取决于回应。
是否也有异步读取流的优点(比如花费更少的时间)?
如果服务器正在流式传输响应并且数据包之间需要相当长的时间,那么它也可能有助于异步读取响应流。
如果服务器只是在一个块中发送响应,则必须确定实现异步读取是否值得花费额外的精力和复杂性。
根据经验,正如您所说,异步运行最重要的部分是BeginGetResponse
。否则,您总是使用线程等待服务器生成响应。