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 实现 BeginRead 和 EndRead 方法。 异步方法允许以区块形式异步读取请求实体,而 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() 重载。