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
- Signature.cs
- TreeViewDesigner.cs
- BasicBrowserDialog.designer.cs
- SudsWriter.cs
- DataSourceListEditor.cs
- SamlDoNotCacheCondition.cs
- X509RecipientCertificateServiceElement.cs
- ServerValidateEventArgs.cs
- SmiContext.cs
- SqlResolver.cs
- SchemaInfo.cs
- QuaternionKeyFrameCollection.cs
- InputLanguageProfileNotifySink.cs
- BasicHttpBinding.cs
- DocumentPageViewAutomationPeer.cs
- UndoUnit.cs
- BrowserDefinitionCollection.cs
- BrushMappingModeValidation.cs
- QueryResponse.cs
- AppDomainShutdownMonitor.cs
- FormViewUpdatedEventArgs.cs
- CapabilitiesState.cs
- COM2FontConverter.cs
- RectAnimationClockResource.cs
- TaskForm.cs
- ObjectListFieldCollection.cs
- ListItemsCollectionEditor.cs
- XmlSchemaParticle.cs
- HttpValueCollection.cs
- LinqToSqlWrapper.cs
- TypeBuilderInstantiation.cs
- UnionExpr.cs
- DrawingAttributes.cs
- DefaultTextStoreTextComposition.cs
- SafeHandle.cs
- SystemColors.cs
- RequestQueryProcessor.cs
- Mapping.cs
- ParameterElement.cs
- CryptoKeySecurity.cs
- PersistenceMetadataNamespace.cs
- TextParaLineResult.cs
- ToolBar.cs
- JoinTreeSlot.cs
- SolidColorBrush.cs
- Point3DKeyFrameCollection.cs
- List.cs
- TypeListConverter.cs
- WinInetCache.cs
- ClientBuildManagerCallback.cs
- OracleDataAdapter.cs
- BitmapData.cs
- CodeSubDirectoriesCollection.cs
- PreProcessInputEventArgs.cs
- MetadataFile.cs
- CreateWorkflowOwnerCommand.cs
- UserMapPath.cs
- DynamicILGenerator.cs
- MimeTypeAttribute.cs
- ToolStripOverflow.cs
- WebPartConnection.cs
- LogWriteRestartAreaState.cs
- ScriptResourceAttribute.cs
- FrameworkReadOnlyPropertyMetadata.cs
- BindingRestrictions.cs
- PEFileEvidenceFactory.cs
- Reference.cs
- AnnotationMap.cs
- InternalTypeHelper.cs
- SettingsPropertyValue.cs
- SourceFilter.cs
- LinkArea.cs
- TraceListeners.cs
- WhitespaceRuleLookup.cs
- GenericsInstances.cs
- PerfService.cs
- FilterableAttribute.cs
- ITextView.cs
- HighlightComponent.cs
- CodeLinePragma.cs
- GeometryHitTestParameters.cs
- CheckedPointers.cs
- ColumnTypeConverter.cs
- ResXResourceSet.cs
- DataGridViewComboBoxEditingControl.cs
- DockingAttribute.cs
- BaseCollection.cs
- LateBoundBitmapDecoder.cs
- baseshape.cs
- SqlGatherConsumedAliases.cs
- WorkflowApplicationException.cs
- ContractAdapter.cs
- SchemaDeclBase.cs
- RelationshipType.cs
- Single.cs
- SafeNativeMethodsMilCoreApi.cs
- StateChangeEvent.cs
- RequestResizeEvent.cs
- BigInt.cs
- ActivityBindForm.cs