Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / XmlDocumentSerializer.cs / 1305376 / XmlDocumentSerializer.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a serializer for the Atom Service Document format. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Serializers { using System; using System.Data.Services.Providers; using System.Diagnostics; using System.IO; using System.Text; using System.Xml; ///Provides support for serializing generic XML documents. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Pending review.")] [DebuggerDisplay("XmlDocumentSerializer={baseUri}")] internal abstract class XmlDocumentSerializer : IExceptionWriter { ///Base URI from which resources should be resolved. private readonly Uri baseUri; ///Data provider from which metadata should be gathered. private readonly DataServiceProviderWrapper provider; ///Writer to which output is sent. private readonly XmlWriter writer; ////// Initializes a new XmlDocumentSerializer, ready to write /// out an XML document /// /// Stream to which output should be sent. /// Base URI from which resources should be resolved. /// Data provider from which metadata should be gathered. /// Text encoding for the response. internal XmlDocumentSerializer( Stream output, Uri baseUri, DataServiceProviderWrapper provider, Encoding encoding) { Debug.Assert(output != null, "output != null"); Debug.Assert(provider != null, "provider != null"); Debug.Assert(baseUri != null, "baseUri != null"); Debug.Assert(encoding != null, "encoding != null"); Debug.Assert(baseUri.IsAbsoluteUri, "baseUri.IsAbsoluteUri(" + baseUri + ")"); Debug.Assert(baseUri.AbsoluteUri[baseUri.AbsoluteUri.Length - 1] == '/', "baseUri(" + baseUri.AbsoluteUri + ") ends with '/'"); this.writer = XmlUtil.CreateXmlWriterAndWriteProcessingInstruction(output, encoding); this.provider = provider; this.baseUri = baseUri; } ///Base URI from which resources should be resolved. protected Uri BaseUri { get { return this.baseUri; } } ///Data provider from which metadata should be gathered. protected DataServiceProviderWrapper Provider { get { return this.provider; } } ///Writer to which output is sent. protected XmlWriter Writer { get { return this.writer; } } ///Serializes exception information. /// Description of exception to serialize. public void WriteException(HandleExceptionArgs args) { ErrorHandler.SerializeXmlError(args, this.writer); } ///Writes the document for this request.. /// Data service instance. internal abstract void WriteRequest(IDataService service); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a serializer for the Atom Service Document format. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Serializers { using System; using System.Data.Services.Providers; using System.Diagnostics; using System.IO; using System.Text; using System.Xml; ///Provides support for serializing generic XML documents. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Pending review.")] [DebuggerDisplay("XmlDocumentSerializer={baseUri}")] internal abstract class XmlDocumentSerializer : IExceptionWriter { ///Base URI from which resources should be resolved. private readonly Uri baseUri; ///Data provider from which metadata should be gathered. private readonly DataServiceProviderWrapper provider; ///Writer to which output is sent. private readonly XmlWriter writer; ////// Initializes a new XmlDocumentSerializer, ready to write /// out an XML document /// /// Stream to which output should be sent. /// Base URI from which resources should be resolved. /// Data provider from which metadata should be gathered. /// Text encoding for the response. internal XmlDocumentSerializer( Stream output, Uri baseUri, DataServiceProviderWrapper provider, Encoding encoding) { Debug.Assert(output != null, "output != null"); Debug.Assert(provider != null, "provider != null"); Debug.Assert(baseUri != null, "baseUri != null"); Debug.Assert(encoding != null, "encoding != null"); Debug.Assert(baseUri.IsAbsoluteUri, "baseUri.IsAbsoluteUri(" + baseUri + ")"); Debug.Assert(baseUri.AbsoluteUri[baseUri.AbsoluteUri.Length - 1] == '/', "baseUri(" + baseUri.AbsoluteUri + ") ends with '/'"); this.writer = XmlUtil.CreateXmlWriterAndWriteProcessingInstruction(output, encoding); this.provider = provider; this.baseUri = baseUri; } ///Base URI from which resources should be resolved. protected Uri BaseUri { get { return this.baseUri; } } ///Data provider from which metadata should be gathered. protected DataServiceProviderWrapper Provider { get { return this.provider; } } ///Writer to which output is sent. protected XmlWriter Writer { get { return this.writer; } } ///Serializes exception information. /// Description of exception to serialize. public void WriteException(HandleExceptionArgs args) { ErrorHandler.SerializeXmlError(args, this.writer); } ///Writes the document for this request.. /// Data service instance. internal abstract void WriteRequest(IDataService service); } } // 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
- DSACryptoServiceProvider.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Atom10FormatterFactory.cs
- IconBitmapDecoder.cs
- AssociationSet.cs
- NgenServicingAttributes.cs
- ScriptReferenceEventArgs.cs
- ReferentialConstraint.cs
- Pts.cs
- UpdateManifestForBrowserApplication.cs
- ManipulationInertiaStartingEventArgs.cs
- SystemIcmpV4Statistics.cs
- DataGridViewBindingCompleteEventArgs.cs
- FontStretchConverter.cs
- XmlSchemaSimpleTypeUnion.cs
- PassportPrincipal.cs
- ContextProperty.cs
- TdsParserSessionPool.cs
- WebPartPersonalization.cs
- ResetableIterator.cs
- TimeSpanSecondsConverter.cs
- CategoriesDocumentFormatter.cs
- HttpProcessUtility.cs
- DiscoveryClientProtocol.cs
- TextParagraphProperties.cs
- SynchronizedDispatch.cs
- ApplyTemplatesAction.cs
- PrintPreviewDialog.cs
- Odbc32.cs
- XmlAttributes.cs
- WsatConfiguration.cs
- COM2EnumConverter.cs
- VideoDrawing.cs
- SHA512Managed.cs
- CatalogPart.cs
- RequestQueue.cs
- ObjectDataSourceFilteringEventArgs.cs
- RoleGroup.cs
- HelpInfo.cs
- MexTcpBindingCollectionElement.cs
- EndPoint.cs
- _AutoWebProxyScriptEngine.cs
- BorderGapMaskConverter.cs
- DataBindingHandlerAttribute.cs
- SourceLineInfo.cs
- KeyedHashAlgorithm.cs
- BigInt.cs
- Triangle.cs
- SoapClientMessage.cs
- MarshalByRefObject.cs
- PageCatalogPart.cs
- Renderer.cs
- ConfigPathUtility.cs
- WebPartConnectionsConnectVerb.cs
- GroupBoxDesigner.cs
- RemotingConfigParser.cs
- PersonalizableAttribute.cs
- PageBuildProvider.cs
- RuntimeArgumentHandle.cs
- Timer.cs
- InternalConfigHost.cs
- TypefaceCollection.cs
- SignatureHelper.cs
- MemoryFailPoint.cs
- HtmlTable.cs
- TabItem.cs
- TrackingLocation.cs
- OutputScope.cs
- QuestionEventArgs.cs
- IncrementalReadDecoders.cs
- CollectionEditor.cs
- RelatedView.cs
- HealthMonitoringSection.cs
- ListBase.cs
- CharEnumerator.cs
- ProfileManager.cs
- ConnectionInterfaceCollection.cs
- WsdlImporterElement.cs
- RtType.cs
- ProgressiveCrcCalculatingStream.cs
- PageSetupDialog.cs
- Visual.cs
- _TLSstream.cs
- datacache.cs
- ClientBuildManager.cs
- SafeNativeMethodsCLR.cs
- SQLInt32Storage.cs
- Point3DCollection.cs
- Tile.cs
- RawAppCommandInputReport.cs
- GroupByQueryOperator.cs
- UIElement.cs
- SystemIPGlobalStatistics.cs
- PropertyMapper.cs
- SecurityManager.cs
- ContextInformation.cs
- ReceiveSecurityHeader.cs
- ScrollBarAutomationPeer.cs
- TcpServerChannel.cs
- HijriCalendar.cs