在this msdn page上我读到了:
您的应用程序不能混合使用同步和异步方法 特别要求。如果你调用BeginGetRequestStream方法,那么 必须使用BeginGetResponse方法来检索响应。
情况恰恰相反吗?如果我调用BeginGetResponse
异步读取响应,我还应该使用BeginGetRequestStream
来写请求吗?
我的请求很小(100-1000个字符),响应可能很大。
杰弗里里希特的This post似乎说,在小型有效载荷的情况下,它可以同步完成(并且不设置ContentLength
属性)。这是对的吗?
答案 0 :(得分:0)
技术上没有,你可以同步发送请求并根据你的要求异步处理响应,但通常不建议这样做。为了保持一致性,请选择最符合您需求的方法,并使用相同的方法实现请求/响应
您可能会混合方法的示例是,您发送的报告请求可能需要一些时间才能完成。您希望同步发送请求,以确保在继续之前完全发送请求(例如,如果从Windows应用程序发送时考虑连接问题),但是异步处理响应,因为您不想绑定用户界面等待响应回来时。尽管如此,我仍然建议你的发送/接收方法保持一致。