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
- ZipPackage.cs
- HighlightVisual.cs
- Rfc4050KeyFormatter.cs
- SiteOfOriginContainer.cs
- DecodeHelper.cs
- XPathArrayIterator.cs
- SafeNativeMethodsMilCoreApi.cs
- XmlSchemaException.cs
- ConvertEvent.cs
- AvtEvent.cs
- CellLabel.cs
- DataGridRelationshipRow.cs
- WorkflowStateRollbackService.cs
- TemplateControlParser.cs
- XhtmlStyleClass.cs
- Int64AnimationUsingKeyFrames.cs
- PageContentCollection.cs
- AtomEntry.cs
- SessionPageStateSection.cs
- TemplatePartAttribute.cs
- Query.cs
- DataGridViewTextBoxColumn.cs
- ProxyWebPartManager.cs
- IResourceProvider.cs
- PngBitmapDecoder.cs
- BufferedStream.cs
- HMACMD5.cs
- XmlElementAttributes.cs
- SequentialUshortCollection.cs
- FolderNameEditor.cs
- SchemaImporterExtensionElement.cs
- CompositeClientFormatter.cs
- SymLanguageVendor.cs
- InstalledVoice.cs
- SoapIncludeAttribute.cs
- RadioButtonAutomationPeer.cs
- SqlGenericUtil.cs
- SoundPlayerAction.cs
- PeerNodeTraceRecord.cs
- ContentElement.cs
- FileAuthorizationModule.cs
- ExpressionBuilder.cs
- TaskCanceledException.cs
- wgx_exports.cs
- OrderablePartitioner.cs
- ConfigurationPropertyCollection.cs
- ProcessInfo.cs
- SslStreamSecurityUpgradeProvider.cs
- StorageInfo.cs
- ConfigUtil.cs
- DiffuseMaterial.cs
- oledbmetadatacollectionnames.cs
- Triangle.cs
- Stacktrace.cs
- DetailsViewDeleteEventArgs.cs
- TextSimpleMarkerProperties.cs
- PublisherMembershipCondition.cs
- FormattedTextSymbols.cs
- UnsafeNativeMethodsCLR.cs
- ToolBarTray.cs
- Helpers.cs
- ErrorHandler.cs
- OpenFileDialog.cs
- AssemblyHash.cs
- PolicyChain.cs
- Graph.cs
- DBSchemaTable.cs
- SchemaCompiler.cs
- SqlBulkCopyColumnMapping.cs
- BatchParser.cs
- ListControl.cs
- DocumentViewerAutomationPeer.cs
- SetIndexBinder.cs
- ADConnectionHelper.cs
- TraceSwitch.cs
- FormView.cs
- QilXmlReader.cs
- CompressedStack.cs
- TransformPattern.cs
- CharacterShapingProperties.cs
- AuthenticationManager.cs
- GridView.cs
- PrivilegedConfigurationManager.cs
- URLBuilder.cs
- METAHEADER.cs
- WebScriptMetadataMessage.cs
- PropertyItemInternal.cs
- RepeaterItemEventArgs.cs
- SplitterCancelEvent.cs
- GraphicsPathIterator.cs
- XmlValidatingReaderImpl.cs
- PrintController.cs
- NavigationProperty.cs
- FormsAuthentication.cs
- HuffmanTree.cs
- FixedTextSelectionProcessor.cs
- PrePostDescendentsWalker.cs
- XmlLoader.cs
- TableColumn.cs
- ControlTemplate.cs