Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / JsonServiceDocumentSerializer.cs / 1305376 / 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 DataServiceProviderWrapper 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, DataServiceProviderWrapper provider, Encoding encoding) { Debug.Assert(output != null, "output != null"); Debug.Assert(provider != null, "provider != null"); this.writer = new JsonWriter(new StreamWriter(output, encoding)); 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.StartObjectScope(); // { this.writer.WriteDataWrapper(); // "d" : this.writer.StartObjectScope(); this.writer.WriteName(JsonEntitySetsElementName); this.writer.StartArrayScope(); foreach (ResourceSetWrapper container in this.provider.ResourceSets) { this.writer.WriteValue(container.Name); } this.writer.EndScope(); // end the array scope this.writer.EndScope(); // end the object scope this.writer.EndScope(); // end "d" scope } 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
- XmlCharCheckingWriter.cs
- InputMethodStateChangeEventArgs.cs
- Block.cs
- ReflectPropertyDescriptor.cs
- BaseDataListActionList.cs
- LazyTextWriterCreator.cs
- ConfigXmlReader.cs
- Intellisense.cs
- SlotInfo.cs
- FragmentNavigationEventArgs.cs
- ExpressionCopier.cs
- TextSchema.cs
- BitmapPalette.cs
- PageHandlerFactory.cs
- BlurBitmapEffect.cs
- Semaphore.cs
- SafeSystemMetrics.cs
- HebrewCalendar.cs
- RegistrationServices.cs
- SqlWriter.cs
- SqlDataSourceStatusEventArgs.cs
- XmlSchemaFacet.cs
- ListBindableAttribute.cs
- IsolatedStorage.cs
- PrintDocument.cs
- EnumerableRowCollection.cs
- HttpListenerPrefixCollection.cs
- ReaderOutput.cs
- CompilerTypeWithParams.cs
- StatusBar.cs
- DataGridViewElement.cs
- TypeReference.cs
- Collection.cs
- FontUnitConverter.cs
- updatecommandorderer.cs
- UpDownEvent.cs
- MsmqDecodeHelper.cs
- ResXResourceWriter.cs
- EditorServiceContext.cs
- FormatterServices.cs
- StackSpiller.Temps.cs
- CharKeyFrameCollection.cs
- RegistryPermission.cs
- EventInfo.cs
- ResourceWriter.cs
- PrintDocument.cs
- DataRowView.cs
- DataGridState.cs
- FileSystemInfo.cs
- EntityDataSourceContainerNameItem.cs
- DllNotFoundException.cs
- ExpressionBinding.cs
- ApplicationSecurityManager.cs
- TreeWalker.cs
- CultureTableRecord.cs
- ClientScriptManager.cs
- SafeNativeMemoryHandle.cs
- HttpConfigurationContext.cs
- UIInitializationException.cs
- FormsAuthenticationConfiguration.cs
- Paragraph.cs
- TypeUsage.cs
- DataGridViewButtonColumn.cs
- shaper.cs
- Single.cs
- ArrayConverter.cs
- SqlColumnizer.cs
- FrugalList.cs
- ImageDrawing.cs
- DataGridToolTip.cs
- Constants.cs
- Model3DGroup.cs
- ObjectDataSourceDisposingEventArgs.cs
- OleDbCommand.cs
- ToolstripProfessionalRenderer.cs
- AlgoModule.cs
- SafeUserTokenHandle.cs
- InputGestureCollection.cs
- counter.cs
- ApplicationBuildProvider.cs
- DataConnectionHelper.cs
- TagPrefixAttribute.cs
- XmlNamespaceMapping.cs
- XmlAttributeHolder.cs
- ProgressBar.cs
- EventSinkHelperWriter.cs
- InstanceLockQueryResult.cs
- ADConnectionHelper.cs
- GPRECTF.cs
- CustomAssemblyResolver.cs
- EventPropertyMap.cs
- MessageSecurityException.cs
- ipaddressinformationcollection.cs
- UndirectedGraph.cs
- TableRow.cs
- InputScopeManager.cs
- XmlAttributes.cs
- WindowsMenu.cs
- ExpressionEditorAttribute.cs
- BitmapPalette.cs