在HttpWebRequest上调用Abort是否对responseStream.BeginRead有任何影响?

本文关键字:BeginRead 任何 影响 responseStream HttpWebRequest 调用 Abort 是否 | 更新日期: 2023-09-27 18:03:34

From MSDN:

" Abort方法取消对资源的请求。当一个请求取消,调用GetResponse BeginGetResponse EndGetResponse,GetRequestStream、BeginGetRequestStream或EndGetRequestStream方法导致状态属性设置为的WebExceptionRequestCanceled。"

但是如果responseStream.BeginRead正在进行,Abort会取消这个读吗?

在HttpWebRequest上调用Abort是否对responseStream.BeginRead有任何影响?

是的,它正在影响从流中读取。我已经测试了在msdn HttpWebRequest中使用的示例代码。

调用EndRead抛出ReadCallBack函数异常。
RequestState myRequestState = (RequestState)asyncResult.AsyncState;
Stream responseStream = myRequestState.streamResponse;
int read = responseStream.EndRead(asyncResult);

ReadCallBack异常引发

消息:The request was aborted: The request was cancelled .

状态:请求取消按任意键继续..........