Condividi tramite


HttpRequest.GetBufferlessInputStream Metodo

Definizione

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

Overload

Nome Descrizione
GetBufferlessInputStream()

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

GetBufferlessInputStream(Boolean)

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

GetBufferlessInputStream()

Ottiene un Stream oggetto che può essere utilizzato 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. Di seguito sono riportati alcuni esempi di proprietà che causano il caricamento e l'analisi del corpo dell'entità:

Per evitare questa eccezione, chiamare prima il ReadEntityBodyMode metodo . Questa eccezione viene generata anche se il client si disconnette durante la lettura del corpo dell'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 che restituisca 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 . I parametri del Read metodo vengono usati per specificare la quantità di corpo dell'entità 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 asincrono.

Questo metodo può essere utile se la richiesta sta caricando un file di grandi dimensioni e si desidera 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 assumere il controllo di tutta l'elaborazione del corpo dell'entità. Ciò significa che non è possibile usare questo metodo da una pagina .aspx, perché al momento dell'esecuzione di una pagina .aspx, il corpo dell'entità è già stato letto.

Vedi anche

Si applica a

GetBufferlessInputStream(Boolean)

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

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. Di seguito sono riportati alcuni esempi di proprietà che causano il caricamento e l'analisi del corpo dell'entità:

Per evitare questa eccezione, chiamare prima il ReadEntityBodyMode metodo . Questa eccezione viene generata anche se il client si disconnette durante la lettura del corpo dell'entità.

Commenti

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

Vedi anche

Si applica a