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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ArraySortHelper.cs
- Validator.cs
- EdgeModeValidation.cs
- CompositeControlDesigner.cs
- InitializationEventAttribute.cs
- ImageField.cs
- XamlTypeMapper.cs
- FragmentQueryKB.cs
- XamlUtilities.cs
- VirtualDirectoryMappingCollection.cs
- ProxyWebPartManager.cs
- ListViewUpdatedEventArgs.cs
- NumericUpDownAcceleration.cs
- Size3DConverter.cs
- SQLConvert.cs
- PropertyNames.cs
- SrgsRulesCollection.cs
- TokenBasedSet.cs
- ConfigurationLockCollection.cs
- BamlRecordReader.cs
- RealProxy.cs
- DrawingImage.cs
- WebColorConverter.cs
- ProvidePropertyAttribute.cs
- DataKeyCollection.cs
- UnwrappedTypesXmlSerializerManager.cs
- ReaderContextStackData.cs
- FileClassifier.cs
- ScrollChrome.cs
- NgenServicingAttributes.cs
- SliderAutomationPeer.cs
- CustomError.cs
- HtmlTableRow.cs
- TableProviderWrapper.cs
- CompilerScopeManager.cs
- BinaryExpression.cs
- EntitySqlQueryBuilder.cs
- StylusDownEventArgs.cs
- PolyLineSegment.cs
- BlobPersonalizationState.cs
- TransactionFlowOption.cs
- UnaryOperationBinder.cs
- LayoutEngine.cs
- SqlDataSource.cs
- InkCollectionBehavior.cs
- MasterPage.cs
- HitTestParameters.cs
- _CommandStream.cs
- ContentDesigner.cs
- XmlIlTypeHelper.cs
- TransformCryptoHandle.cs
- ValidatedControlConverter.cs
- RequestBringIntoViewEventArgs.cs
- CallbackValidatorAttribute.cs
- MultilineStringConverter.cs
- WorkflowDispatchContext.cs
- RTTrackingProfile.cs
- SoapRpcMethodAttribute.cs
- ContextMenuStrip.cs
- CultureInfoConverter.cs
- StringFreezingAttribute.cs
- ObjectItemCollection.cs
- MarginsConverter.cs
- CatalogPart.cs
- ApplicationBuildProvider.cs
- XmlCountingReader.cs
- OperandQuery.cs
- ViewEvent.cs
- MimeTypeMapper.cs
- RuleSettings.cs
- CacheVirtualItemsEvent.cs
- RelatedCurrencyManager.cs
- DetailsViewPageEventArgs.cs
- MemberMemberBinding.cs
- DependencySource.cs
- ImageList.cs
- XomlCompiler.cs
- MemberJoinTreeNode.cs
- WebPartDisplayMode.cs
- ColorConvertedBitmapExtension.cs
- OpCellTreeNode.cs
- SocketElement.cs
- TrackingRecord.cs
- SystemFonts.cs
- GridViewSortEventArgs.cs
- FlowPosition.cs
- SourceFileBuildProvider.cs
- ValueExpressions.cs
- TemplateControlParser.cs
- TreeIterator.cs
- NetTcpBinding.cs
- WorkflowApplicationAbortedEventArgs.cs
- HtmlShim.cs
- LocationReference.cs
- ContractsBCL.cs
- grammarelement.cs
- LogRestartAreaEnumerator.cs
- NotificationContext.cs
- InternalPermissions.cs
- ExtendedPropertiesHandler.cs