Condividi tramite


HttpRequest.GetBufferlessInputStream Metodo

Definizione

Ottiene un oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso.

Overload

GetBufferlessInputStream()

Ottiene un oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso.

GetBufferlessInputStream(Boolean)

Ottiene un oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso, disabilitando facoltativamente il limite di lunghezza della richiesta impostato nella proprietà MaxRequestLength.

GetBufferlessInputStream()

Ottiene un oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso.

public:
 System::IO::Stream ^ GetBufferlessInputStream();
public System.IO.Stream GetBufferlessInputStream ();
member this.GetBufferlessInputStream : unit -> System.IO.Stream
Public Function GetBufferlessInputStream () As Stream

Restituisce

Oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso.

Eccezioni

Il corpo dell'entità della richiesta è già stato caricato e analizzato. Tra le proprietà che generano il caricamento e l'analisi del corpo entità vi sono:

Per evitare questa eccezione, chiamare il metodo di ReadEntityBodyMode per primo. Questa eccezione viene generata se il client viene disconnesso durante la lettura del corpo di entità.

Commenti

Questo metodo offre un'alternativa all'uso della InputStream proprietà . La InputStream proprietà attende fino a quando non viene ricevuta l'intera richiesta prima di restituire un Stream oggetto. Al contrario, il GetBufferlessInputStream metodo restituisce immediatamente l'oggetto Stream . È possibile usare il metodo per iniziare a elaborare il corpo dell'entità prima che il contenuto completo del corpo sia stato ricevuto.

Il corpo dell'entità (o gran parte di esso richiesto e ricevuto) viene restituito solo quando si usa l'oggetto restituito da questo metodo per leggere il flusso chiamando metodi come il Read metodo. Si usano i parametri del metodo per specificare la quantità di corpo dell'entità Read da leggere.

L'oggetto Stream restituito da ASP.NET da questo metodo supporta sia metodi di lettura sincroni che asincroni. L'oggetto Stream implementa entrambi i BeginRead metodi e EndRead . I metodi asincroni consentono di leggere in modo asincrono l'entità richiesta in blocchi, mentre ASP.NET rilascia il thread corrente tra ogni iterazione di un ciclo di lettura asincrona.

Questo metodo può essere utile se la richiesta carica un file di grandi dimensioni e si vuole iniziare ad accedere al contenuto del file prima del completamento del caricamento. Tuttavia, è consigliabile usare questo metodo solo per gli scenari in cui si vuole eseguire l'elaborazione di tutto il corpo dell'entità. Ciò significa che non è possibile usare questo metodo da una pagina aspx, perché al momento in cui viene eseguita una pagina con estensione aspx, il corpo dell'entità è già stato letto.

Vedi anche

Si applica a

GetBufferlessInputStream(Boolean)

Ottiene un oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso, disabilitando facoltativamente il limite di lunghezza della richiesta impostato nella proprietà 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

Parametri

disableMaxRequestLength
Boolean

true per disabilitare il limite di lunghezza della richiesta; in caso contrario, false.

Restituisce

Oggetto Stream che può essere usato per leggere il corpo dell'entità HTTP in ingresso.

Eccezioni

Il corpo dell'entità della richiesta è già stato caricato e analizzato. Tra le proprietà che generano il caricamento e l'analisi del corpo entità vi sono:

Per evitare questa eccezione, chiamare il metodo di ReadEntityBodyMode per primo. Questa eccezione viene generata se il client viene disconnesso durante la lettura del corpo di entità.

Commenti

Per altre informazioni su questo metodo, vedere l'overload GetBufferlessInputStream() .

Vedi anche

Si applica a