HttpRequest.GetBufferlessInputStream 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得可用來讀取傳入 HTTP 實體內容的 Stream 物件。
多載
GetBufferlessInputStream() |
取得可用來讀取傳入 HTTP 實體內容的 Stream 物件。 |
GetBufferlessInputStream(Boolean) |
取得 Stream 物件,這個物件可用來讀取傳入 HTTP 實體內容,並選擇性地停用 MaxRequestLength 屬性中所設定的要求長度限制。 |
GetBufferlessInputStream()
取得可用來讀取傳入 HTTP 實體內容的 Stream 物件。
public:
System::IO::Stream ^ GetBufferlessInputStream();
public System.IO.Stream GetBufferlessInputStream ();
member this.GetBufferlessInputStream : unit -> System.IO.Stream
Public Function GetBufferlessInputStream () As Stream
傳回
Stream 物件,可用來讀取傳入 HTTP 實體內容。
例外狀況
已載入並剖析要求的實體主體。 造成載入及剖析實體主體的屬性包含下列範例:
若要避免此例外狀況,首先呼叫ReadEntityBodyMode方法。 如果在讀取實體主題時中斷連接用戶端,也會擲回這個例外狀況。
備註
這個方法提供使用 屬性的 InputStream 替代方法。 屬性 InputStream 會等到在傳回 Stream 物件之前收到整個要求為止。 相反地,方法 GetBufferlessInputStream 會立即傳 Stream 回 物件。 您可以使用 方法來開始處理實體主體,再收到本文的完整內容。
只有當您使用此方法傳回的物件來讀取資料流程時, Read 才會傳回實體主體 (或您要求時收到) 。 您可以使用 方法的參數 Read 來指定要讀取多少實體主體。
Stream這個方法 ASP.NET 傳回的物件同時支援同步和非同步讀取方法。 物件 Stream 會同時 BeginRead 實作 和 EndRead 方法。 非同步方法可讓您以區塊方式讀取要求實體,同時 ASP.NET 在非同步讀取迴圈的每個反復專案之間釋放目前的執行緒。
如果要求正在上傳大型檔案,而且您想要在上傳完成之前開始存取檔案內容,這個方法就很有用。 不過,您應該只針對想要接管實體主體所有處理的情況使用這個方法。 這表示您無法從 .aspx 頁面使用這個方法,因為在 .aspx 頁面執行時,實體主體已經讀取。
另請參閱
適用於
GetBufferlessInputStream(Boolean)
取得 Stream 物件,這個物件可用來讀取傳入 HTTP 實體內容,並選擇性地停用 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
。
傳回
Stream 物件,可用來讀取傳入 HTTP 實體內容。
例外狀況
已載入並剖析要求的實體主體。 造成載入及剖析實體主體的屬性包含下列範例:
Form 屬性。
Files 屬性。
InputStream 屬性。
若要避免此例外狀況,首先呼叫ReadEntityBodyMode方法。 如果在讀取實體主題時中斷連接用戶端,也會擲回這個例外狀況。
備註
如需這個方法的詳細資訊,請參閱 GetBufferlessInputStream() 多載。