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
- RowUpdatedEventArgs.cs
- TreeNode.cs
- Binding.cs
- OracleDataReader.cs
- Thumb.cs
- ClientTargetSection.cs
- XmlNodeList.cs
- UserNameSecurityToken.cs
- EntityTypeBase.cs
- _LocalDataStoreMgr.cs
- FamilyTypefaceCollection.cs
- ReadOnlyObservableCollection.cs
- DetailsViewDesigner.cs
- MsdtcWrapper.cs
- MulticastOption.cs
- CachedFontFace.cs
- SrgsElementFactoryCompiler.cs
- DecodeHelper.cs
- TabControl.cs
- _HTTPDateParse.cs
- XmlDataSourceNodeDescriptor.cs
- MsmqReceiveHelper.cs
- TransactionChannel.cs
- ValueTypeFixupInfo.cs
- PolicyManager.cs
- WsrmTraceRecord.cs
- BitmapImage.cs
- BigInt.cs
- RequestQueryProcessor.cs
- CustomErrorCollection.cs
- ReadOnlyCollection.cs
- ServerProtocol.cs
- Permission.cs
- DateTimeSerializationSection.cs
- XmlILAnnotation.cs
- StackOverflowException.cs
- InvocationExpression.cs
- MessageSmuggler.cs
- WebServiceErrorEvent.cs
- BindStream.cs
- XamlClipboardData.cs
- TrustManagerPromptUI.cs
- ProfileSettings.cs
- HttpCookieCollection.cs
- TypeDelegator.cs
- Random.cs
- IgnoreDeviceFilterElement.cs
- RoutedCommand.cs
- GestureRecognizer.cs
- EdgeProfileValidation.cs
- FixedSOMElement.cs
- HtmlAnchor.cs
- OdbcCommandBuilder.cs
- QilUnary.cs
- WriteableBitmap.cs
- CodeAttributeDeclarationCollection.cs
- XmlDataLoader.cs
- ManagementNamedValueCollection.cs
- ResourceReader.cs
- Codec.cs
- QuaternionAnimationBase.cs
- MetadataItemEmitter.cs
- FontInfo.cs
- WorkflowInstance.cs
- AuthenticationService.cs
- MergeFilterQuery.cs
- ElapsedEventArgs.cs
- SizeValueSerializer.cs
- NegotiateStream.cs
- ReferencedAssemblyResolver.cs
- HttpDictionary.cs
- ScriptResourceInfo.cs
- ExceptionCollection.cs
- BeginGetFileNameFromUserRequest.cs
- ActivityCodeGenerator.cs
- COM2ExtendedUITypeEditor.cs
- EncryptedKey.cs
- SecurityState.cs
- InternalDispatchObject.cs
- GetUserPreferenceRequest.cs
- Simplifier.cs
- KernelTypeValidation.cs
- JsonQNameDataContract.cs
- CqlBlock.cs
- WindowsFormsSynchronizationContext.cs
- UICuesEvent.cs
- ServicePoint.cs
- EntityContainerEntitySetDefiningQuery.cs
- SmtpFailedRecipientsException.cs
- OuterGlowBitmapEffect.cs
- SqlColumnizer.cs
- CompilerErrorCollection.cs
- TextServicesPropertyRanges.cs
- TextBlockAutomationPeer.cs
- CloseCollectionAsyncResult.cs
- SymDocumentType.cs
- DataServiceSaveChangesEventArgs.cs
- SeekableReadStream.cs
- ToolStripSettings.cs
- DataControlFieldCell.cs