Я использую метод HttpWebResponse.BeginGetResponse () для отправки запроса на мой сервер. В уведомлении «Запрос выполнен» я делаю следующее (без кода обработки ошибок):
HttpWebResponse response = (HttpWebResponse)myHttpWebRequest.EndGetResponse(result);
BinaryReader streamReader = new BinaryReader(response.GetResponseStream());
while ((readSize = streamReader.Read(buffer, 0, buffer.Length)) > 0)
{
...
}
У меня вопрос: можно ли сохранить поток, полученный из response.GetResponseStream (), где-нибудь как переменную-член и выполнить отмену запроса следующим образом:
m_requestState.httpRequest.Abort();
m_requestState.httpRequestStream.Close(); // If this is missing then
// streamReader.Read() locks for a long time when connection is lost.
Этот код заставляет streamReader.Read () генерировать исключение System.ObjectDisposedException.
Спасибо!
Михай