Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取大数据流的HttpWebRequest和Response_C#_Httpwebrequest - Fatal编程技术网

C# 读取大数据流的HttpWebRequest和Response

C# 读取大数据流的HttpWebRequest和Response,c#,httpwebrequest,C#,Httpwebrequest,我需要从web服务器读取大数据流或数据。 这不是流,而是从客户端读取大块的大数据 为此,我创建了一个Http Web请求。下面是示例代码 StreamingObject streamObj = null; using (HttpWebRequest httpReq = WebRequest.Create(uri)) { HttpWebResponse response = httpReq.GetRespons(); Stream responseStream = response

我需要从web服务器读取大数据流或数据。 这不是流,而是从客户端读取大块的大数据

为此,我创建了一个Http Web请求。下面是示例代码

StreamingObject streamObj = null;
using (HttpWebRequest httpReq = WebRequest.Create(uri))
{
    HttpWebResponse response = httpReq.GetRespons();
    Stream responseStream = response.GetStream();

    streamObj = new StreamingObject(response, responseStream);
}
return streamObj;
在我的代码中,我向给定的Uri发出Http Web请求。然后我得到HttpWebResponse和响应流。创建StreamingObject的实例,它是用于存储Http响应和响应流的包装器类

我已经处理了Http Web请求。客户端提供了StreamingObject,流对象有一个方法GetStream,该方法返回底层响应流。当StreamingObject被释放时,Http响应和流被释放

引入StreamingObject的原因是,为了访问底层流,Http响应必须保持打开状态


我想知道这是一种正确的方法还是有更简单的方法。

我建议不要处理
HttpWebRequest
对象,因为您可能非常需要它。只需将其添加到
StreamingObject
,并在处理
StreamingObject
时处理它。例如,我发现如果我想过早地关闭响应流,响应将挂起,直到所有数据都被读取。但是对请求对象调用
Abort
将立即关闭流。

您确实应该接受其他问题的答案。