HttpRequest.GetBufferlessInputStream 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个 Stream 对象,该对象可用于读取传入的 HTTP 实体主体。
重载
GetBufferlessInputStream() |
获取一个 Stream 对象,该对象可用于读取传入的 HTTP 实体主体。 |
GetBufferlessInputStream(Boolean) |
获取能被用于读取正在到来的 HTTP 实体主体的 Stream 对象,同时随意地禁止设置在 MaxRequestLength 属性中的请求长度限制。 |
GetBufferlessInputStream()
获取一个 Stream 对象,该对象可用于读取传入的 HTTP 实体主体。
public:
System::IO::Stream ^ GetBufferlessInputStream();
public System.IO.Stream GetBufferlessInputStream ();
member this.GetBufferlessInputStream : unit -> System.IO.Stream
Public Function GetBufferlessInputStream () As Stream
返回
可用于读取传入的 HTTP 实体主体的 Stream 对象。
例外
已加载和分析请求的实体主体。 导致加载和分析实体正文的属性的示例包括:
要避免此异常,请首先调用 ReadEntityBodyMode 方法。 如果客户在实体正文读取时断开连接,则也会引发此异常。
注解
此方法提供使用属性的 InputStream 替代方法。 该 InputStream 属性在返回 Stream 对象之前等待整个请求收到。 相反,该方法 GetBufferlessInputStream 会立即返回 Stream 对象。 可以使用该方法在收到正文的完整内容之前开始处理实体正文。
仅当使用此方法返回的对象通过调用方法(如 Read 该方法)来读取流时,实体正文 (或请求的实体正文中已收到) 。 使用方法的参数 Read 指定要读取的实体正文的数量。
Stream此方法中 ASP.NET 返回的对象支持同步和异步读取方法。 该Stream对象实现和BeginReadEndRead方法。 使用异步方法可以异步读取区块中的请求实体,同时 ASP.NET 在异步读取循环的每个迭代之间释放当前线程。
如果请求正在上传大型文件,并且希望在上传完成之前开始访问文件内容,则此方法非常有用。 但是,应仅对想要接管实体正文的所有处理的方案使用此方法。 这意味着不能从 .aspx 页使用此方法,因为到 .aspx 页面运行时,实体正文已读取。
另请参阅
适用于
GetBufferlessInputStream(Boolean)
获取能被用于读取正在到来的 HTTP 实体主体的 Stream 对象,同时随意地禁止设置在 MaxRequestLength 属性中的请求长度限制。
public:
System::IO::Stream ^ GetBufferlessInputStream(bool disableMaxRequestLength);
public System.IO.Stream GetBufferlessInputStream (bool disableMaxRequestLength);
member this.GetBufferlessInputStream : bool -> System.IO.Stream
Public Function GetBufferlessInputStream (disableMaxRequestLength As Boolean) As Stream
参数
- disableMaxRequestLength
- Boolean
若要禁用请求长度限制,则为 true
;否则为 false
。
返回
可用于读取传入的 HTTP 实体主体的 Stream 对象。
例外
已加载和分析请求的实体主体。 导致加载和分析实体正文的属性的示例包括:
Form 属性。
Files 属性。
InputStream 属性。
要避免此异常,请首先调用 ReadEntityBodyMode 方法。 如果客户在实体正文读取时断开连接,则也会引发此异常。
注解
有关此方法的详细信息,请参阅 GetBufferlessInputStream() 重载。