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
- MemoryPressure.cs
- EditorPartChrome.cs
- NativeMethods.cs
- ComAdminWrapper.cs
- ImageClickEventArgs.cs
- MappedMetaModel.cs
- SQLString.cs
- CodeTypeMember.cs
- EntityModelSchemaGenerator.cs
- BulletChrome.cs
- PersonalizableAttribute.cs
- Regex.cs
- DispatcherExceptionEventArgs.cs
- FrameworkContentElement.cs
- TakeQueryOptionExpression.cs
- PasswordDeriveBytes.cs
- TypeCacheManager.cs
- AttributeQuery.cs
- ComponentSerializationService.cs
- WebConfigurationHost.cs
- DirectoryInfo.cs
- NotImplementedException.cs
- RemotingSurrogateSelector.cs
- IntegerFacetDescriptionElement.cs
- WorkflowDesignerMessageFilter.cs
- AccessibilityHelperForXpWin2k3.cs
- RootProjectionNode.cs
- CasesDictionary.cs
- activationcontext.cs
- DragEvent.cs
- AsyncPostBackErrorEventArgs.cs
- ZipFileInfoCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- RedistVersionInfo.cs
- bidPrivateBase.cs
- WebServiceHandlerFactory.cs
- DrawListViewColumnHeaderEventArgs.cs
- CannotUnloadAppDomainException.cs
- AppearanceEditorPart.cs
- ProcessModelSection.cs
- SystemSounds.cs
- BidOverLoads.cs
- TextEditorDragDrop.cs
- AutomationPropertyInfo.cs
- ExternalFile.cs
- _AutoWebProxyScriptHelper.cs
- HtmlLabelAdapter.cs
- RemotingAttributes.cs
- PolygonHotSpot.cs
- ProxyFragment.cs
- SharedStream.cs
- HMACRIPEMD160.cs
- BadImageFormatException.cs
- OracleParameter.cs
- TreeView.cs
- PersistNameAttribute.cs
- PermissionListSet.cs
- DnsEndPoint.cs
- HierarchicalDataBoundControl.cs
- ProfilePropertyNameValidator.cs
- PanelDesigner.cs
- AsymmetricSignatureDeformatter.cs
- ReachIDocumentPaginatorSerializer.cs
- TextTreePropertyUndoUnit.cs
- SiteMapNodeItemEventArgs.cs
- XMLDiffLoader.cs
- FontStretchConverter.cs
- sortedlist.cs
- AsnEncodedData.cs
- ByteStreamMessageUtility.cs
- LiteralSubsegment.cs
- WebPartZoneCollection.cs
- ClientTargetCollection.cs
- SmtpFailedRecipientsException.cs
- ExpressionEditorAttribute.cs
- DictionarySectionHandler.cs
- HebrewNumber.cs
- Guid.cs
- UnsafePeerToPeerMethods.cs
- HtmlTable.cs
- ShaperBuffers.cs
- NotifyParentPropertyAttribute.cs
- SessionParameter.cs
- DeclarativeCatalogPart.cs
- Stroke.cs
- ClientScriptManager.cs
- OptionUsage.cs
- HttpCapabilitiesBase.cs
- Cell.cs
- MediaPlayerState.cs
- File.cs
- AttributeExtensions.cs
- InvalidComObjectException.cs
- StylusTip.cs
- ClaimTypeRequirement.cs
- AssemblyAttributesGoHere.cs
- _HeaderInfoTable.cs
- InternalResources.cs
- WriteTimeStream.cs
- SingleSelectRootGridEntry.cs