HttpRequest.GetBufferlessInputStream 方法

定義

取得可用來讀取傳入 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 實體內容。

例外狀況

已載入並剖析要求的實體主體。 造成載入及剖析實體主體的屬性包含下列範例:

若要避免此例外狀況,首先呼叫ReadEntityBodyMode方法。 如果在讀取實體主題時中斷連接用戶端,也會擲回這個例外狀況。

備註

如需這個方法的詳細資訊,請參閱 GetBufferlessInputStream() 多載。

另請參閱

適用於