HttpRequest.GetBufferlessInputStream 方法

定义

获取一个 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 对象。

例外

已加载和分析请求的实体主体。 导致加载和分析实体正文的属性的示例包括:

要避免此异常,请首先调用 ReadEntityBodyMode 方法。 如果客户在实体正文读取时断开连接,则也会引发此异常。

注解

有关此方法的详细信息,请参阅 GetBufferlessInputStream() 重载。

另请参阅

适用于