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
- oledbmetadatacollectionnames.cs
- HtmlEmptyTagControlBuilder.cs
- ObjectTag.cs
- SessionStateContainer.cs
- BindingContext.cs
- IsolatedStorageFileStream.cs
- ExpressionNode.cs
- MgmtResManager.cs
- MeshGeometry3D.cs
- DbModificationClause.cs
- MasterPageCodeDomTreeGenerator.cs
- IODescriptionAttribute.cs
- SubtreeProcessor.cs
- ArraySubsetEnumerator.cs
- SystemIPGlobalStatistics.cs
- Evidence.cs
- BuiltInPermissionSets.cs
- SqlLiftWhereClauses.cs
- SafeEventLogReadHandle.cs
- UpdateException.cs
- X509LogoTypeExtension.cs
- ClientSettingsProvider.cs
- COM2AboutBoxPropertyDescriptor.cs
- HttpRuntimeSection.cs
- IssuedTokenServiceElement.cs
- HtmlInputCheckBox.cs
- ControlPager.cs
- Rectangle.cs
- StringPropertyBuilder.cs
- StringExpressionSet.cs
- SecurityContextSecurityToken.cs
- SiteMapDataSourceView.cs
- MultiPartWriter.cs
- TreeViewDesigner.cs
- RewritingProcessor.cs
- HttpStaticObjectsCollectionWrapper.cs
- GridViewEditEventArgs.cs
- UserMapPath.cs
- FormsAuthenticationUser.cs
- WorkflowTransactionService.cs
- OutputCacheSection.cs
- SessionPageStatePersister.cs
- GlobalAllocSafeHandle.cs
- TcpTransportSecurityElement.cs
- CustomAttributeBuilder.cs
- Serializer.cs
- WebPartEditorOkVerb.cs
- ServicePointManagerElement.cs
- FilteredXmlReader.cs
- SerializationInfoEnumerator.cs
- InputBuffer.cs
- ManagedIStream.cs
- DefaultTextStoreTextComposition.cs
- ParameterToken.cs
- SqlConnectionManager.cs
- AllMembershipCondition.cs
- TextCompositionEventArgs.cs
- WindowsIPAddress.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- InputManager.cs
- TimerElapsedEvenArgs.cs
- TcpChannelFactory.cs
- FragmentNavigationEventArgs.cs
- AppSecurityManager.cs
- FamilyTypefaceCollection.cs
- SqlTriggerContext.cs
- Properties.cs
- TableRowGroup.cs
- AssemblyUtil.cs
- LineServicesCallbacks.cs
- SafeNativeMethods.cs
- ExpandableObjectConverter.cs
- AutomationPatternInfo.cs
- ping.cs
- ConfigurationElementCollection.cs
- UiaCoreTypesApi.cs
- ToolStripRendererSwitcher.cs
- ObjectContextServiceProvider.cs
- DataGridViewColumnCollection.cs
- SqlTypeSystemProvider.cs
- UserControl.cs
- SafeNativeMethodsMilCoreApi.cs
- UITypeEditor.cs
- MulticastNotSupportedException.cs
- VisualStyleElement.cs
- UDPClient.cs
- XamlReader.cs
- NumericExpr.cs
- Function.cs
- SignatureHelper.cs
- StringValueConverter.cs
- StrongName.cs
- DataGridRowsPresenter.cs
- mediaeventshelper.cs
- UshortList2.cs
- XmlWriterSettings.cs
- DecimalConverter.cs
- TextSelection.cs
- SliderAutomationPeer.cs
- JsonReader.cs