Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo HttpWebRequest.AddRange (Int32, Int32)

Aggiunge un'intestazione di intervallo di byte alla richiesta per un intervallo specifico.

Spazio dei nomi:  System.Net
Assembly:  System (in System.dll)

public void AddRange(
	int from,
	int to
)

Parametri

from
Tipo: System.Int32
La posizione in cui avviare l'invio dei dati.
to
Tipo: System.Int32
La posizione in cui arrestare l'invio dei dati.

EccezioneCondizione
ArgumentException

rangeSpecifier non è valido.

ArgumentOutOfRangeException

from è maggiore di to.

In alternativa

from o to è minore di 0.

InvalidOperationException

Impossibile aggiungere l'intestazione di intervallo.

Il metodo HttpWebRequest.AddRange aggiunge un'intestazione di intervallo di byte alla richiesta.

Poiché tutte le entità HTTP vengono rappresentate nei messaggi HTTP come sequenze di byte, il concetto di un intervallo di byte è significativo per qualsiasi entità HTTP. Non tutti i client e i server devono supportare tuttavia operazioni dell'intervallo di byte.

L'intestazione Range in una richiesta consente un client di indicare che desidera ricevere solo una parte dell'intervallo specificato di byte in un'entità HTTP. I server non sono necessari per supportare richieste dell'intestazione Range.

Un esempio di un'intestazione Range in una richiesta del protocollo HTTP relativa ai primi 100 byte può essere il seguente:

Range: bytes=0-99\r\n\r\n

Per questo esempio, il parametro from sarebbe specificato come "0" e il parametro to sarebbe specificato come -99. L'identificatore di intervallo viene impostato automaticamente come "byte" da questo metodo.

Un server HTTP indica il supporto per le intestazioni Range con l'intestazione Accept-Ranges. Un esempio di intestazione Accept-Ranges da un server che supporta intervalli di byte può essere il seguente:

Accept-Ranges: bytes\r\n\r\n

Se un'intestazione Accept-Ranges non viene ricevuta nell'intestazione della risposta dal server, il server non supporta intestazioni Range. Un esempio di intestazione Accept-Ranges da un server che non supporta intervalli, ma riconosce l'intestazione Accept-Ranges, può essere il seguente:

Accept-Ranges: none\r\n\r\n

Quando si riceve la risposta da una richiesta di intervallo, solo le intestazioni HTTP associate all'intera richiesta verranno analizzate e rese disponibili tramite proprietà impostate sulla classe HttpWebResponse. Le intestazioni associate a ogni intervallo verranno restituite nella risposta.

Nell'esempio di codice riportato di seguito viene aggiunta un'intestazione di intervallo alla richiesta.


			// Create a New 'HttpWebRequest' object .
			HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
			myHttpWebRequest.AddRange(50,150);	
			Console.WriteLine("Call AddRange(50,150)");
			Console.Write("Resulting Request Headers: ");
			Console.WriteLine(myHttpWebRequest.Headers.ToString());

			// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
			HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();

      // Displays the headers in the response received
      Console.Write("Resulting Response Headers: ");
			Console.WriteLine(myHttpWebResponse.Headers.ToString());

			// Display the contents of the page to the console.
			Stream streamResponse=myHttpWebResponse.GetResponseStream();
			StreamReader streamRead = new StreamReader( streamResponse );
			Char[] readBuffer = new Char[256];
			int count = streamRead.Read( readBuffer, 0, 256 );
			Console.WriteLine("\nThe HTML contents of the page from 50th to 150 characters are :\n  ");	
			while (count > 0) 
			{
				String outputData = new String(readBuffer, 0, count);
				Console.WriteLine(outputData);
				count = streamRead.Read(readBuffer, 0, 256);
			}
			// Release the response object resources.
			streamRead.Close();
			streamResponse.Close();
			myHttpWebResponse.Close();


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft