Derivazione da WebResponse

La classe WebResponse è una classe base abstract che fornisce le proprietà e i metodi di base per la creazione di una risposta specifica del protocollo adatta al modello di protocollo innestabile di .NET Framework. Nelle applicazioni in cui si utilizza la classe WebRequest per richiedere dati dalle risorse si ricevono le risposte in una classe WebResponse. Nelle derivazioni di WebResponse specifiche del protocollo devono essere implementati i membri abstract della classe WebResponse.

La classe WebRequest associata deve consentire la creazione di derivazioni di WebResponse. Le istanze di HttpWebResponse, ad esempio, vengono create solo in seguito alla chiamata di HttpWebRequest.GetResponse o HttpWebRequest.EndGetResponse. In ogni WebResponse è contenuto il risultato di una richiesta effettuata a una risorsa e l'istanza non può essere riutilizzata.

Proprietà ContentLength

Nella proprietà ContentLength è indicato il numero di byte di dati disponibili nel flusso restituito dal metodo GetResponseStream. Nella proprietà ContentLength non è indicato il numero di byte di informazioni di metadati o di intestazione restituito dal server, ma solo il numero di byte di dati presenti nella risorsa richiesta.

Proprietà ContentType

La proprietà ContentType consente di fornire eventuali informazioni speciali da inviare al client per l'identificazione del tipo di contenuto inviato dal server. In genere si tratta del tipo di contenuto MIME dei dati restituiti.

Proprietà Headers

Nella proprietà Headers è contenuto un insieme arbitrario di coppie nome/valore di metadati associati alla risposta. Nella proprietà Headers può essere incluso qualsiasi metadato richiesto dal protocollo, purché esprimibile come coppia nome/valore.

Non è necessario utilizzare la proprietà Headers per utilizzare i metadati di intestazione. I metadati specifici del protocollo possono essere esposti come proprietà. Nella proprietà HttpWebResponse.LastModified, ad esempio, si espone l'intestazione HTTP Last-Modified. Quando si espongono i metadati di intestazione come una proprietà, evitare che la stessa proprietà venga impostata mediante la proprietà Headers.

Proprietà ResponseUri

Nella proprietà ResponseUri è contenuto l'URI della risorsa che ha fornito la risposta. Per i protocolli che non supportano il reindirizzamento ResponseUri equivale alla proprietà RequestUri della classe WebRequest utilizzata per la creazione della risposta. Se il reindirizzamento della richiesta è supportato dal protocollo, in ResponseUri sarà contenuto l'URI della risposta.

Metodo Close

Il metodo Close consente di chiudere le connessioni effettuate dalla richiesta e dalla risposta e di pulire le risorse utilizzate da quest'ultima. Con il metodo Close si chiude qualsiasi istanza di flusso utilizzata dalla risposta, ma non viene generata un'eccezione se il flusso di risposta era stato chiuso in precedenza da una chiamata al metodo Stream.Close.

Metodo GetResponseStream

Con il metodo GetResponseStream viene restituito un flusso contenente la risposta della risorsa richiesta. Nel flusso di risposta sono contenuti solo i dati restituiti dalla risorsa; qualsiasi intestazione o metadato incluso nella risposta deve essere rimosso ed esposto all'applicazione mediante le proprietà specifiche di protocollo o la proprietà Headers.

L'istanza di flusso restituita dal metodo GetResponseStream è di proprietà dell'applicazione e può essere chiusa senza chiudere la classe WebResponse. Di norma la chiamata al metodo WebResponse.Close comporta la chiusura del flusso restituito da GetResponse.

Vedere anche

Programmazione dei protocolli innestabili | Derivazione da WebRequest | Classe WebResponse | Classe HttpWebResponse | Classe FileWebResponse