Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / JsonServiceDocumentSerializer.cs / 1 / JsonServiceDocumentSerializer.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Provides a serializer for the Json Service Document format.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Serializers
{
using System.Data.Services.Providers;
using System.Diagnostics;
using System.IO;
using System.Text;
///
/// Provides support for serializing service models as
/// a Service Document.
///
[DebuggerDisplay("JsonServiceDocumentSerializer={baseUri}")]
internal sealed class JsonServiceDocumentSerializer : IExceptionWriter
{
/// JsonWriter to write out strings in Json format.
private readonly JsonWriter writer;
/// Data provider from which metadata should be gathered.
private readonly IDataServiceProvider provider;
/// Element name for the json service document.
private const string JsonEntitySetsElementName = "EntitySets";
///
/// Initializes a new JsonServiceDocumentSerializer, ready to write
/// out the Service Document for a data provider.
///
/// Stream to which output should be sent.
/// Data provider from which metadata should be gathered.
/// Text encoding for the response.
internal JsonServiceDocumentSerializer(
Stream output,
IDataServiceProvider provider,
Encoding encoding)
{
Debug.Assert(output != null, "output != null");
Debug.Assert(provider != null, "provider != null");
StreamWriter writer = new StreamWriter(output, encoding);
this.writer = new JsonWriter(writer);
this.provider = provider;
}
/// Serializes exception information.
/// Description of exception to serialize.
public void WriteException(HandleExceptionArgs args)
{
ErrorHandler.SerializeJsonError(args, this.writer);
}
/// Writes the Service Document to the output stream.
internal void WriteRequest()
{
try
{
this.writer.StartWrapper();
this.writer.StartObjectScope();
this.writer.WriteName(JsonEntitySetsElementName);
this.writer.StartArrayScope();
foreach (ResourceContainer container in this.provider.GetContainers())
{
this.writer.WriteValue(container.Name);
}
this.writer.EndScope(); // end the array scope
this.writer.EndScope(); // end the object scope
this.writer.EndWrapper();
}
finally
{
this.writer.Flush();
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Provides a serializer for the Json Service Document format.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Serializers
{
using System.Data.Services.Providers;
using System.Diagnostics;
using System.IO;
using System.Text;
///
/// Provides support for serializing service models as
/// a Service Document.
///
[DebuggerDisplay("JsonServiceDocumentSerializer={baseUri}")]
internal sealed class JsonServiceDocumentSerializer : IExceptionWriter
{
/// JsonWriter to write out strings in Json format.
private readonly JsonWriter writer;
/// Data provider from which metadata should be gathered.
private readonly IDataServiceProvider provider;
/// Element name for the json service document.
private const string JsonEntitySetsElementName = "EntitySets";
///
/// Initializes a new JsonServiceDocumentSerializer, ready to write
/// out the Service Document for a data provider.
///
/// Stream to which output should be sent.
/// Data provider from which metadata should be gathered.
/// Text encoding for the response.
internal JsonServiceDocumentSerializer(
Stream output,
IDataServiceProvider provider,
Encoding encoding)
{
Debug.Assert(output != null, "output != null");
Debug.Assert(provider != null, "provider != null");
StreamWriter writer = new StreamWriter(output, encoding);
this.writer = new JsonWriter(writer);
this.provider = provider;
}
/// Serializes exception information.
/// Description of exception to serialize.
public void WriteException(HandleExceptionArgs args)
{
ErrorHandler.SerializeJsonError(args, this.writer);
}
/// Writes the Service Document to the output stream.
internal void WriteRequest()
{
try
{
this.writer.StartWrapper();
this.writer.StartObjectScope();
this.writer.WriteName(JsonEntitySetsElementName);
this.writer.StartArrayScope();
foreach (ResourceContainer container in this.provider.GetContainers())
{
this.writer.WriteValue(container.Name);
}
this.writer.EndScope(); // end the array scope
this.writer.EndScope(); // end the object scope
this.writer.EndWrapper();
}
finally
{
this.writer.Flush();
}
}
}
}
// 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
- FrameDimension.cs
- FileDialogCustomPlaces.cs
- BaseEntityWrapper.cs
- SmtpClient.cs
- ColumnMapCopier.cs
- ColumnHeaderConverter.cs
- SortQuery.cs
- ContractValidationHelper.cs
- DataSourceCache.cs
- QueryRewriter.cs
- SendOperation.cs
- ScrollPatternIdentifiers.cs
- SeverityFilter.cs
- Condition.cs
- SimpleApplicationHost.cs
- PropertyDescriptorCollection.cs
- UpWmlMobileTextWriter.cs
- StorageMappingItemLoader.cs
- ActivityExecutor.cs
- NameValueConfigurationCollection.cs
- LineGeometry.cs
- RemoteHelper.cs
- DeviceContext.cs
- ListViewEditEventArgs.cs
- CompilerTypeWithParams.cs
- PersonalizationStateInfoCollection.cs
- XamlHostingSectionGroup.cs
- FieldMetadata.cs
- ReflectionHelper.cs
- CacheMemory.cs
- shaperfactory.cs
- WorkflowDataContext.cs
- ToolboxComponentsCreatingEventArgs.cs
- MessageBox.cs
- recordstate.cs
- ControlPager.cs
- RtfControlWordInfo.cs
- SystemTcpConnection.cs
- MasterPageParser.cs
- TemplatePagerField.cs
- OleDbRowUpdatingEvent.cs
- SHA256Cng.cs
- BaseValidator.cs
- PrimitiveType.cs
- ColumnWidthChangingEvent.cs
- ColorContext.cs
- Symbol.cs
- HandlerElementCollection.cs
- WorkflowTransactionService.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- CreateUserWizard.cs
- DataGridViewCellCollection.cs
- FormatConvertedBitmap.cs
- DesignerAttributeInfo.cs
- EntityProviderFactory.cs
- Vector.cs
- DataKey.cs
- Assembly.cs
- Normalizer.cs
- ArraySortHelper.cs
- UniqueConstraint.cs
- CommandLineParser.cs
- InvalidCastException.cs
- ProjectedSlot.cs
- XmlDataCollection.cs
- AccessibilityApplicationManager.cs
- UIHelper.cs
- ControllableStoryboardAction.cs
- SqlBooleanMismatchVisitor.cs
- SortedList.cs
- SecurityContextKeyIdentifierClause.cs
- ResourceDictionary.cs
- BitmapEffectState.cs
- MediaPlayer.cs
- ParserContext.cs
- UserPersonalizationStateInfo.cs
- SerialErrors.cs
- WMIInterop.cs
- ThreadStateException.cs
- RichTextBoxAutomationPeer.cs
- GridToolTip.cs
- ByteArrayHelperWithString.cs
- OrderedDictionary.cs
- Decorator.cs
- ControlAdapter.cs
- PopupRootAutomationPeer.cs
- BindingOperations.cs
- ModelUIElement3D.cs
- FormViewUpdatedEventArgs.cs
- StopStoryboard.cs
- BoundPropertyEntry.cs
- IncrementalCompileAnalyzer.cs
- MetadataCache.cs
- HuffCodec.cs
- ElapsedEventArgs.cs
- XmlUtil.cs
- PartManifestEntry.cs
- BezierSegment.cs
- SetIterators.cs
- Soap12ProtocolImporter.cs