Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / DataServiceStreamResponse.cs / 1305376 / DataServiceStreamResponse.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// This class represents the response as a binary stream of data // and its metadata. // //--------------------------------------------------------------------- namespace System.Data.Services.Client { using System.Collections.Generic; using System.Diagnostics; using System.IO; #if !ASTORIA_LIGHT // Data.Services http stack using System.Net; #else using System.Data.Services.Http; #endif ////// Class which represents a stream response from the service. /// public sealed class DataServiceStreamResponse : IDisposable { ///The underlying web response private HttpWebResponse response; ///Lazy initialized cached response headers. private Dictionaryheaders; /// /// Constructor for the response. This method is internal since we don't want users to create instances /// of this class. /// /// The web response to wrap. internal DataServiceStreamResponse(HttpWebResponse response) { Debug.Assert(response != null, "Can't create a stream response object from a null response."); this.response = response; } ////// Returns the content type of the response stream (ex. image/png). /// If the Content-Type header was not present in the response this property /// will return null. /// public string ContentType { get { this.CheckDisposed(); return this.response.Headers[XmlConstants.HttpContentType]; } } ////// Returns the content disposition of the response stream. /// If the Content-Disposition header was not present in the response this property /// will return null. /// public string ContentDisposition { get { this.CheckDisposed(); return this.response.Headers[XmlConstants.HttpContentDisposition]; } } ////// Returns a dictionary containing all the response headers returned from the retrieve request /// to obtain the stream. /// public DictionaryHeaders { get { this.CheckDisposed(); if (this.headers == null) { this.headers = WebUtil.WrapResponseHeaders(this.response); } return this.headers; } } /// /// Returns the stream obtained from the data service. When reading from this stream /// the operations may throw if a network error occurs. This stream is read-only. /// /// Caller must call Dispose/Close on either the returned stream or on the response /// object itself. Otherwise the network connection will be left open and the caller /// might run out of available connections. /// public Stream Stream { get { this.CheckDisposed(); return this.response.GetResponseStream(); } } #region IDisposable Members ////// Disposes all resources held by this class. Namely the network stream. /// public void Dispose() { Util.Dispose(ref this.response); } #endregion ///Checks if the object has already been disposed. If so it throws the ObjectDisposedException. ///If the object has already been disposed. private void CheckDisposed() { if (this.response == null) { Error.ThrowObjectDisposed(this.GetType()); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SatelliteContractVersionAttribute.cs
- SafeFileMappingHandle.cs
- TemplateManager.cs
- CatalogZoneBase.cs
- DataGridViewComboBoxCell.cs
- CheckBoxField.cs
- FrameSecurityDescriptor.cs
- VSDExceptions.cs
- AdvancedBindingEditor.cs
- SolidBrush.cs
- FormViewInsertEventArgs.cs
- DrawingContextWalker.cs
- ColumnTypeConverter.cs
- OrderPreservingPipeliningMergeHelper.cs
- ListChangedEventArgs.cs
- EntityDescriptor.cs
- CollectionCodeDomSerializer.cs
- EntityDataSource.cs
- ByteStorage.cs
- NGCPageContentSerializerAsync.cs
- MexHttpsBindingCollectionElement.cs
- FlatButtonAppearance.cs
- FlowDocumentPaginator.cs
- SQLBytesStorage.cs
- WriteFileContext.cs
- _SslStream.cs
- MarshalByValueComponent.cs
- CodeLabeledStatement.cs
- AssemblySettingAttributes.cs
- Group.cs
- ContentIterators.cs
- DocumentApplicationJournalEntry.cs
- InfoCardRequestException.cs
- StringSource.cs
- EntitySqlQueryState.cs
- QueueProcessor.cs
- SecurityManager.cs
- DataGridRowDetailsEventArgs.cs
- Semaphore.cs
- EntityContainerEntitySetDefiningQuery.cs
- DesignBindingPicker.cs
- Convert.cs
- TabControl.cs
- SqlDependencyListener.cs
- DataGridViewColumnHeaderCell.cs
- GridViewUpdatedEventArgs.cs
- webeventbuffer.cs
- Line.cs
- HttpFileCollection.cs
- InheritanceContextHelper.cs
- UIntPtr.cs
- HtmlFormParameterReader.cs
- NumericPagerField.cs
- TreeViewDataItemAutomationPeer.cs
- AnnotationHelper.cs
- ConfigXmlCDataSection.cs
- SQLCharsStorage.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- ToggleButton.cs
- NameNode.cs
- PersonalizationDictionary.cs
- SByte.cs
- InputBindingCollection.cs
- DCSafeHandle.cs
- ObjectSet.cs
- WebPartPersonalization.cs
- GlobalEventManager.cs
- HtmlTernaryTree.cs
- PropertyGridCommands.cs
- WebPartEditorCancelVerb.cs
- ToolBarPanel.cs
- _NTAuthentication.cs
- ManagedCodeMarkers.cs
- AppSettingsSection.cs
- ElementInit.cs
- DataSysAttribute.cs
- WriteableBitmap.cs
- XmlDataImplementation.cs
- PathFigureCollection.cs
- MergablePropertyAttribute.cs
- LinqDataSourceUpdateEventArgs.cs
- CachedBitmap.cs
- ISAPIWorkerRequest.cs
- TargetInvocationException.cs
- DisplayMemberTemplateSelector.cs
- DataGridHeaderBorder.cs
- DirectoryInfo.cs
- EnumerableRowCollection.cs
- TreeNodeConverter.cs
- WindowsNonControl.cs
- FreezableCollection.cs
- FrameAutomationPeer.cs
- MappingSource.cs
- MessagePartDescriptionCollection.cs
- NodeLabelEditEvent.cs
- ToolStripContentPanel.cs
- SqlVersion.cs
- WebPartAuthorizationEventArgs.cs
- PoisonMessageException.cs
- CompoundFileStreamReference.cs