Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / XmlDocumentSerializer.cs / 1 / 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 IDataServiceProvider 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,
IDataServiceProvider 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 IDataServiceProvider 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..
internal abstract void WriteRequest();
}
}
// 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 IDataServiceProvider 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,
IDataServiceProvider 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 IDataServiceProvider 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..
internal abstract void WriteRequest();
}
}
// 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
- _ConnectStream.cs
- TransformConverter.cs
- CanonicalXml.cs
- RichTextBox.cs
- MetaData.cs
- Line.cs
- ServerValidateEventArgs.cs
- GridViewEditEventArgs.cs
- InvalidPrinterException.cs
- ReachSerializer.cs
- HiddenFieldDesigner.cs
- InputLanguageSource.cs
- StringAnimationUsingKeyFrames.cs
- AssertSection.cs
- SQLBinary.cs
- MetricEntry.cs
- BoundingRectTracker.cs
- AutomationProperties.cs
- Helpers.cs
- ArrayConverter.cs
- RecognizedAudio.cs
- ErrorFormatterPage.cs
- DataGridViewComboBoxEditingControl.cs
- TaskbarItemInfo.cs
- CacheHelper.cs
- TextEditorThreadLocalStore.cs
- OneToOneMappingSerializer.cs
- PropertyEmitter.cs
- XAMLParseException.cs
- DynamicDataManager.cs
- Int64Converter.cs
- DuplicateWaitObjectException.cs
- FormsAuthenticationCredentials.cs
- NetworkInformationException.cs
- DataServiceQueryOfT.cs
- CharStorage.cs
- UriTemplateClientFormatter.cs
- IgnoreDeviceFilterElement.cs
- Help.cs
- SystemIcmpV4Statistics.cs
- ModuleElement.cs
- DataAccessor.cs
- EditingContext.cs
- Graph.cs
- NativeMethods.cs
- FindCriteriaCD1.cs
- Wizard.cs
- AutomationIdentifier.cs
- ServiceHostFactory.cs
- SessionStateModule.cs
- Models.cs
- XmlSchemaGroupRef.cs
- FontDifferentiator.cs
- ProcessHostServerConfig.cs
- InstanceDescriptor.cs
- HttpVersion.cs
- StringArrayConverter.cs
- BufferedStream.cs
- IPEndPointCollection.cs
- RecipientInfo.cs
- XmlSchemaAny.cs
- DateTimeParse.cs
- XmlEncoding.cs
- wmiprovider.cs
- documentation.cs
- CombinedGeometry.cs
- InstanceBehavior.cs
- ELinqQueryState.cs
- ThreadPool.cs
- FileStream.cs
- EventPropertyMap.cs
- RowToParametersTransformer.cs
- PtsCache.cs
- WindowsUpDown.cs
- NumericPagerField.cs
- RichTextBoxConstants.cs
- MemoryStream.cs
- ClientSettingsStore.cs
- BrowserDefinitionCollection.cs
- FontStretch.cs
- XmlnsDictionary.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- QueryCacheKey.cs
- CursorConverter.cs
- ExpressionVisitor.cs
- DataGridViewCellStyle.cs
- ClientBuildManager.cs
- FilterableAttribute.cs
- SafeFindHandle.cs
- Span.cs
- DataStorage.cs
- XmlUnspecifiedAttribute.cs
- OutArgument.cs
- XPathConvert.cs
- SiteMembershipCondition.cs
- ContractsBCL.cs
- DockProviderWrapper.cs
- CodeIterationStatement.cs
- TypeEnumerableViewSchema.cs
- DeviceSpecificDesigner.cs