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
- BinaryOperationBinder.cs
- BindingUtils.cs
- CornerRadius.cs
- RuntimeHelpers.cs
- PaintEvent.cs
- RectAnimationUsingKeyFrames.cs
- DeobfuscatingStream.cs
- HtmlEmptyTagControlBuilder.cs
- ClosableStream.cs
- NetMsmqBinding.cs
- MobileControlBuilder.cs
- QuotedStringFormatReader.cs
- XmlSchema.cs
- ConfigXmlDocument.cs
- HMACSHA1.cs
- ISessionStateStore.cs
- ListView.cs
- ImpersonateTokenRef.cs
- CommandManager.cs
- ResourceManagerWrapper.cs
- ObjectResult.cs
- TextBoxAutoCompleteSourceConverter.cs
- ProfileParameter.cs
- TextRunProperties.cs
- OnOperation.cs
- ButtonAutomationPeer.cs
- SmtpException.cs
- VisualSerializer.cs
- CellTreeNodeVisitors.cs
- EnterpriseServicesHelper.cs
- ConstraintManager.cs
- ValueTable.cs
- DataGridItemCollection.cs
- PropertyTabAttribute.cs
- RawStylusInputCustomDataList.cs
- TextTreeNode.cs
- SessionStateItemCollection.cs
- DocumentReferenceCollection.cs
- IndicCharClassifier.cs
- StringOutput.cs
- CryptoKeySecurity.cs
- ProtectedConfiguration.cs
- FontInfo.cs
- DictionarySectionHandler.cs
- DataGridViewSortCompareEventArgs.cs
- UnsafeNativeMethods.cs
- WebServiceMethodData.cs
- ValidationSummary.cs
- XmlWrappingReader.cs
- MemberAccessException.cs
- ComponentEditorPage.cs
- ResourceProperty.cs
- WorkflowApplicationCompletedException.cs
- Vector3DConverter.cs
- ExpressionWriter.cs
- DesignerOptionService.cs
- BlurEffect.cs
- GlobalEventManager.cs
- ProxyAttribute.cs
- ResourceFallbackManager.cs
- NotFiniteNumberException.cs
- WebControlAdapter.cs
- DnsPermission.cs
- OpenTypeLayout.cs
- ChangeTracker.cs
- RijndaelManagedTransform.cs
- LinearQuaternionKeyFrame.cs
- StateMachine.cs
- MailBnfHelper.cs
- TransportManager.cs
- ClientConfigPaths.cs
- ColumnMapProcessor.cs
- ThumbAutomationPeer.cs
- EventlogProvider.cs
- TraceEventCache.cs
- XamlGridLengthSerializer.cs
- RepeatInfo.cs
- ColumnProvider.cs
- HtmlPageAdapter.cs
- StoreContentChangedEventArgs.cs
- ControlBindingsCollection.cs
- RawUIStateInputReport.cs
- MonitorWrapper.cs
- CryptographicAttribute.cs
- PathTooLongException.cs
- MsdtcClusterUtils.cs
- SiteMapNodeCollection.cs
- WebPartMenu.cs
- CompModSwitches.cs
- HashStream.cs
- TypeDelegator.cs
- PersistenceContextEnlistment.cs
- XmlTextReaderImplHelpers.cs
- ClientUtils.cs
- ReverseQueryOperator.cs
- XslNumber.cs
- SqlCacheDependencyDatabase.cs
- SecurityState.cs
- LocatorManager.cs
- NativeMethods.cs