【发布时间】:2011-03-05 17:36:05
【问题描述】:
如何读取一些字节并断开连接?我用这样的代码
using (HttpWebResponse resp = (HttpWebResponse)request.GetResponse())
{
using (Stream sm = resp.GetResponseStream())
{
using (StreamReader sr = new StreamReader(sm, Encoding.Default))
{
sr.Read();
sr.Close();
}
}
}
但它等待流结束
【问题讨论】:
-
出于兴趣,它在哪里阻塞?在 GetResponse、GetResponseStream 还是读取?请注意,您调用了两次 GetResponseStream - 您应该在 StreamReader 构造函数中使用
sm。 -
在 sr.close 之后,win 表格变得不负责任
-
我注意到在 HttpWebResponse(或者它的底层 ConnectStream)上调用“关闭”或“处理”什么都不做(或者更确切地说,它阻塞直到服务器发送整个流)。最好在 HttpWebRequest 上调用“Abort”(这是“REQUEST”而不是响应),这实际上会杀死流
标签: c# .net httpwebresponse