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
- CommandEventArgs.cs
- WorkflowWebService.cs
- UnsafeNativeMethods.cs
- QueryMatcher.cs
- AsymmetricSignatureFormatter.cs
- Timer.cs
- CheckBoxRenderer.cs
- DescendantBaseQuery.cs
- ThrowHelper.cs
- Literal.cs
- ToolStripArrowRenderEventArgs.cs
- TypeValidationEventArgs.cs
- XmlIncludeAttribute.cs
- UInt32Storage.cs
- HtmlGenericControl.cs
- SpeakProgressEventArgs.cs
- DocumentSequence.cs
- DummyDataSource.cs
- ObjectFullSpanRewriter.cs
- CustomAttribute.cs
- ScrollChrome.cs
- StateDesigner.Helpers.cs
- TaskFormBase.cs
- MergeLocalizationDirectives.cs
- TabPageDesigner.cs
- SessionSwitchEventArgs.cs
- SemanticResolver.cs
- SubpageParagraph.cs
- TraversalRequest.cs
- DesignTimeType.cs
- StatusBarDesigner.cs
- Positioning.cs
- X509Certificate2Collection.cs
- SchemaObjectWriter.cs
- Brushes.cs
- SqlBuilder.cs
- DelegatedStream.cs
- CorrelationToken.cs
- DrawListViewItemEventArgs.cs
- DiscriminatorMap.cs
- TablePattern.cs
- CompositeFontFamily.cs
- SystemIPv6InterfaceProperties.cs
- HttpPostedFile.cs
- TrackPointCollection.cs
- FixedSOMTableRow.cs
- EntityStoreSchemaFilterEntry.cs
- CompiledRegexRunnerFactory.cs
- CipherData.cs
- UIntPtr.cs
- RC2.cs
- StandardBindingElement.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- CompareInfo.cs
- ContentFileHelper.cs
- DesignerObjectListAdapter.cs
- ExecutionContext.cs
- MenuBase.cs
- XmlCDATASection.cs
- DataListItemEventArgs.cs
- EnterpriseServicesHelper.cs
- TreeNodeCollection.cs
- RelationshipFixer.cs
- ByteKeyFrameCollection.cs
- FrameSecurityDescriptor.cs
- ConfigXmlComment.cs
- ConfigXmlCDataSection.cs
- QueryContinueDragEventArgs.cs
- ExpressionNormalizer.cs
- PolyQuadraticBezierSegment.cs
- TextViewSelectionProcessor.cs
- ClientFormsAuthenticationCredentials.cs
- UnsafeNativeMethods.cs
- XmlDigitalSignatureProcessor.cs
- RealizationDrawingContextWalker.cs
- RoutingUtilities.cs
- BigIntegerStorage.cs
- UserControl.cs
- SevenBitStream.cs
- ADRoleFactoryConfiguration.cs
- SystemIPAddressInformation.cs
- InvalidPropValue.cs
- InstanceLockedException.cs
- ProcessThread.cs
- DataGridItemEventArgs.cs
- CodeStatement.cs
- ObjectDataSourceView.cs
- HttpDictionary.cs
- HotCommands.cs
- SqlException.cs
- PrintDocument.cs
- mediapermission.cs
- DataSourceControl.cs
- OleDbSchemaGuid.cs
- Label.cs
- InputManager.cs
- RoleService.cs
- SmtpDigestAuthenticationModule.cs
- Hex.cs
- ProviderConnectionPoint.cs