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
- MethodRental.cs
- NativeMethods.cs
- BidPrivateBase.cs
- StrokeCollection.cs
- CodeDOMProvider.cs
- DocumentEventArgs.cs
- EngineSiteSapi.cs
- SamlAuthenticationStatement.cs
- FrameworkObject.cs
- GenericUriParser.cs
- MSAAEventDispatcher.cs
- TreeViewEvent.cs
- RelationshipConstraintValidator.cs
- ColumnCollection.cs
- HiddenFieldPageStatePersister.cs
- ContextInformation.cs
- SafeBitVector32.cs
- SplineKeyFrames.cs
- Context.cs
- DataObjectPastingEventArgs.cs
- SiteMapSection.cs
- ReturnType.cs
- ExplicitDiscriminatorMap.cs
- TextTreeRootTextBlock.cs
- BreakSafeBase.cs
- MimeObjectFactory.cs
- ArrayWithOffset.cs
- SymmetricAlgorithm.cs
- SqlUtils.cs
- SemaphoreSecurity.cs
- XmlSchemaAnnotated.cs
- NameTable.cs
- PackageDigitalSignatureManager.cs
- DateTimeConverter.cs
- MinimizableAttributeTypeConverter.cs
- TextParagraphCache.cs
- SoapSchemaMember.cs
- CompModSwitches.cs
- PrivilegeNotHeldException.cs
- DataBinding.cs
- SqlConnectionPoolGroupProviderInfo.cs
- OraclePermission.cs
- DynamicQueryableWrapper.cs
- ErrorTableItemStyle.cs
- XPathParser.cs
- PartitionedDataSource.cs
- CodeDefaultValueExpression.cs
- SessionSwitchEventArgs.cs
- HttpHandlersSection.cs
- HtmlAnchor.cs
- SettingsPropertyIsReadOnlyException.cs
- FrameSecurityDescriptor.cs
- RtType.cs
- WebScriptMetadataFormatter.cs
- VisualStateChangedEventArgs.cs
- EventLogPermissionEntry.cs
- EditingCommands.cs
- CompilationUnit.cs
- SqlDataSourceQueryConverter.cs
- ImagingCache.cs
- RadioButton.cs
- SchemaInfo.cs
- NamespaceList.cs
- UnionCodeGroup.cs
- HttpModulesSection.cs
- TagMapCollection.cs
- LoginAutoFormat.cs
- Substitution.cs
- ToolboxItemImageConverter.cs
- RegexCode.cs
- ReflectionUtil.cs
- RequestStatusBarUpdateEventArgs.cs
- WhiteSpaceTrimStringConverter.cs
- WebPartConnectionsConnectVerb.cs
- PermissionSet.cs
- ScrollBarAutomationPeer.cs
- EntitySetDataBindingList.cs
- EventSchemaTraceListener.cs
- ObjectRef.cs
- WindowsGraphicsCacheManager.cs
- HelloOperationAsyncResult.cs
- Pair.cs
- ComplexObject.cs
- CodeExpressionCollection.cs
- WebScriptMetadataMessage.cs
- PeerName.cs
- SettingsContext.cs
- ZipFileInfoCollection.cs
- NumberFormatInfo.cs
- Itemizer.cs
- DispatcherExceptionEventArgs.cs
- MappingException.cs
- ListParaClient.cs
- Border.cs
- XmlDataImplementation.cs
- TdsRecordBufferSetter.cs
- PackagePart.cs
- PageClientProxyGenerator.cs
- UsernameTokenFactoryCredential.cs
- HttpConfigurationContext.cs