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
- TextSelection.cs
- SingleConverter.cs
- RecognizerInfo.cs
- ToolboxItemCollection.cs
- AuthenticationConfig.cs
- DefaultValidator.cs
- SafeUserTokenHandle.cs
- TextInfo.cs
- XpsS0ValidatingLoader.cs
- StateManagedCollection.cs
- PersonalizablePropertyEntry.cs
- CodeLinePragma.cs
- XmlSortKey.cs
- xamlnodes.cs
- IssuanceLicense.cs
- FontCollection.cs
- BypassElement.cs
- SpStreamWrapper.cs
- StyleSelector.cs
- MetadataUtilsSmi.cs
- SiteMapProvider.cs
- ValidationEventArgs.cs
- StateManagedCollection.cs
- SplitterCancelEvent.cs
- ErasingStroke.cs
- StringFunctions.cs
- TextSchema.cs
- SortKey.cs
- JavaScriptObjectDeserializer.cs
- ScopedMessagePartSpecification.cs
- TextBoxView.cs
- ContextMenuStripGroupCollection.cs
- CompositeCollection.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- RealProxy.cs
- DataControlFieldTypeEditor.cs
- CharacterShapingProperties.cs
- InputChannelAcceptor.cs
- DragDeltaEventArgs.cs
- WebResourceUtil.cs
- FormsAuthenticationTicket.cs
- Point3DAnimationBase.cs
- MemberAccessException.cs
- TextContainerChangedEventArgs.cs
- SystemIPInterfaceStatistics.cs
- safex509handles.cs
- Geometry.cs
- References.cs
- EnumerableCollectionView.cs
- PTProvider.cs
- FontInfo.cs
- Encoder.cs
- DataGridViewCellStyleBuilderDialog.cs
- MatrixTransform3D.cs
- CreateUserWizard.cs
- ExecutionContext.cs
- SqlConnectionPoolProviderInfo.cs
- Win32Exception.cs
- WorkflowMarkupSerializer.cs
- PaintEvent.cs
- RSAProtectedConfigurationProvider.cs
- NavigationPropertyEmitter.cs
- AdornerHitTestResult.cs
- UnsafeNativeMethodsPenimc.cs
- InternalConfigConfigurationFactory.cs
- DataTableReader.cs
- PointLight.cs
- TCEAdapterGenerator.cs
- BuildResult.cs
- AuthenticationManager.cs
- PrintDialogException.cs
- ObjectViewFactory.cs
- AQNBuilder.cs
- CodeSnippetExpression.cs
- TreePrinter.cs
- FastEncoder.cs
- CanonicalFontFamilyReference.cs
- ComponentDispatcherThread.cs
- Select.cs
- Transform.cs
- IntellisenseTextBox.cs
- ConstructorExpr.cs
- FormView.cs
- DataShape.cs
- UnknownWrapper.cs
- DataGridViewToolTip.cs
- NavigationWindowAutomationPeer.cs
- SByteConverter.cs
- processwaithandle.cs
- BigInt.cs
- GeometryCombineModeValidation.cs
- CodeMethodReturnStatement.cs
- DesignSurface.cs
- ObjectParameter.cs
- RuntimeConfig.cs
- XmlEntity.cs
- ProxyWebPartConnectionCollection.cs
- InternalPolicyElement.cs
- TypeForwardedToAttribute.cs
- DynamicUpdateCommand.cs