Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- //// 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
- TimeSpanStorage.cs
- connectionpool.cs
- TrailingSpaceComparer.cs
- ProcessHost.cs
- TypedTableBaseExtensions.cs
- counter.cs
- DesignerAutoFormatCollection.cs
- Geometry3D.cs
- GridViewPageEventArgs.cs
- EntityContainerEntitySet.cs
- ParallelDesigner.cs
- FixedDSBuilder.cs
- RoleManagerSection.cs
- DesignerActionKeyboardBehavior.cs
- Comparer.cs
- SynchronizationContext.cs
- _ListenerRequestStream.cs
- ButtonField.cs
- ListenerAdapter.cs
- base64Transforms.cs
- ClientProtocol.cs
- ModelItemCollection.cs
- PKCS1MaskGenerationMethod.cs
- sqlstateclientmanager.cs
- ErrorStyle.cs
- HtmlInputButton.cs
- TextReader.cs
- SelectionGlyphBase.cs
- HybridObjectCache.cs
- MatrixConverter.cs
- UIElement.cs
- EncryptedType.cs
- HtmlTableCell.cs
- WindowsFormsHostAutomationPeer.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- IEnumerable.cs
- CommandSet.cs
- DefaultExpressionVisitor.cs
- SqlServices.cs
- StringBuilder.cs
- SecureStringHasher.cs
- OutputBuffer.cs
- ImageCodecInfo.cs
- ObjectAnimationUsingKeyFrames.cs
- InvalidComObjectException.cs
- ButtonBase.cs
- HtmlInputText.cs
- HtmlInputText.cs
- LambdaCompiler.Statements.cs
- JavaScriptSerializer.cs
- SqlMethodAttribute.cs
- SqlConnectionStringBuilder.cs
- DataGridComboBoxColumn.cs
- SecurityTokenException.cs
- BitmapScalingModeValidation.cs
- IdentitySection.cs
- CodeGenerationManager.cs
- CaseStatement.cs
- StoreItemCollection.Loader.cs
- MobileUITypeEditor.cs
- IfAction.cs
- AudioLevelUpdatedEventArgs.cs
- XamlSerializerUtil.cs
- CalendarDateRange.cs
- ModelFunction.cs
- WindowPattern.cs
- Misc.cs
- ContainerParagraph.cs
- PtsHost.cs
- ImageFormatConverter.cs
- TreeIterator.cs
- VoiceInfo.cs
- MemberJoinTreeNode.cs
- RelationshipType.cs
- ScrollItemPatternIdentifiers.cs
- WebDescriptionAttribute.cs
- AssemblyResourceLoader.cs
- RowToParametersTransformer.cs
- CustomTypeDescriptor.cs
- HttpModule.cs
- PersonalizableTypeEntry.cs
- IsolatedStorage.cs
- SQLByteStorage.cs
- DictionarySectionHandler.cs
- SEHException.cs
- ViewCellSlot.cs
- SingleAnimation.cs
- TempFiles.cs
- FileVersionInfo.cs
- XmlUnspecifiedAttribute.cs
- LabelAutomationPeer.cs
- OdbcConnectionString.cs
- ProviderCollection.cs
- CodeCatchClause.cs
- DataGridDesigner.cs
- ToolStripPanelRenderEventArgs.cs
- DateTimeConverter.cs
- ModelPerspective.cs
- ClientTarget.cs
- SamlDelegatingWriter.cs