Share via


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() 多載。

另請參閱

適用於