Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DocumentViewerAutomationPeer.cs
- SortExpressionBuilder.cs
- SiteMapNodeCollection.cs
- PreservationFileWriter.cs
- CryptoApi.cs
- XmlILStorageConverter.cs
- PackageDigitalSignature.cs
- QilVisitor.cs
- ArrayWithOffset.cs
- ToolStripTextBox.cs
- GridView.cs
- SettingsProviderCollection.cs
- AspNetHostingPermission.cs
- MemoryFailPoint.cs
- DependencyPropertyHelper.cs
- AnonymousIdentificationSection.cs
- DesignerSerializerAttribute.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- initElementDictionary.cs
- Range.cs
- ReaderWriterLock.cs
- MenuItem.cs
- MemberHolder.cs
- XmlSchemaObjectTable.cs
- DbReferenceCollection.cs
- MailDefinitionBodyFileNameEditor.cs
- FreezableOperations.cs
- Logging.cs
- XmlTextReaderImpl.cs
- RangeBase.cs
- DeploymentExceptionMapper.cs
- XPathEmptyIterator.cs
- XPathDescendantIterator.cs
- MessageSmuggler.cs
- UncommonField.cs
- ChangePassword.cs
- DiscoveryServiceExtension.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- TemplateColumn.cs
- ModuleBuilder.cs
- CodeVariableReferenceExpression.cs
- CompiledQuery.cs
- BamlTreeMap.cs
- SafeViewOfFileHandle.cs
- Image.cs
- ResourceSet.cs
- TextBox.cs
- ExpressionBuilderCollection.cs
- _AutoWebProxyScriptWrapper.cs
- SelectionProcessor.cs
- ConfigurationSettings.cs
- RtfFormatStack.cs
- WindowsTokenRoleProvider.cs
- FileSystemWatcher.cs
- IsolatedStorageFilePermission.cs
- WebServiceData.cs
- WebRequestModulesSection.cs
- LambdaExpression.cs
- BitArray.cs
- SQLDecimal.cs
- FigureParagraph.cs
- SerializationSectionGroup.cs
- NavigationWindowAutomationPeer.cs
- MenuItemStyleCollection.cs
- LockCookie.cs
- ServiceHttpHandlerFactory.cs
- DoubleConverter.cs
- StructuralObject.cs
- _SSPISessionCache.cs
- InputMethod.cs
- GPStream.cs
- ToolBar.cs
- TraceFilter.cs
- Italic.cs
- PartialList.cs
- DataGridViewButtonCell.cs
- ByteStack.cs
- RemoteCryptoDecryptRequest.cs
- KnownBoxes.cs
- IndicFontClient.cs
- TemplateBindingExtension.cs
- LinqDataView.cs
- SecurityManager.cs
- ExpandCollapseProviderWrapper.cs
- MetadataFile.cs
- IncrementalReadDecoders.cs
- VisualBrush.cs
- X509ClientCertificateAuthenticationElement.cs
- MultiPropertyDescriptorGridEntry.cs
- DBCommand.cs
- Timer.cs
- MemoryRecordBuffer.cs
- __TransparentProxy.cs
- DetailsViewDeletedEventArgs.cs
- VisualBasic.cs
- TableAutomationPeer.cs
- PassportIdentity.cs
- CssStyleCollection.cs
- XmlSchemaSimpleContent.cs
- IconBitmapDecoder.cs