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
- PackWebRequest.cs
- UnauthorizedAccessException.cs
- SchemaImporter.cs
- recordstatefactory.cs
- NameSpaceExtractor.cs
- CacheAxisQuery.cs
- Int32Collection.cs
- SharedRuntimeState.cs
- FastEncoderStatics.cs
- ObjectListFieldsPage.cs
- DataStreamFromComStream.cs
- FormsAuthenticationUserCollection.cs
- Funcletizer.cs
- Section.cs
- DbMetaDataFactory.cs
- XmlTextReaderImplHelpers.cs
- Matrix.cs
- ToolStripContextMenu.cs
- BindingUtils.cs
- MsmqInputMessage.cs
- sqlinternaltransaction.cs
- MulticastOption.cs
- Pair.cs
- _NegoStream.cs
- WorkflowPrinting.cs
- loginstatus.cs
- ToolStripManager.cs
- RowToFieldTransformer.cs
- ErrorLog.cs
- MouseBinding.cs
- CharStorage.cs
- FormatterConverter.cs
- storepermissionattribute.cs
- DataServiceKeyAttribute.cs
- Scripts.cs
- Compiler.cs
- DataStreamFromComStream.cs
- UIElement3D.cs
- RectangleGeometry.cs
- XmlCountingReader.cs
- DesignerUtility.cs
- EncryptedXml.cs
- ContractNamespaceAttribute.cs
- DynamicObject.cs
- XpsFixedPageReaderWriter.cs
- ClientType.cs
- LicenseManager.cs
- XmlTextReader.cs
- JournalEntryStack.cs
- CollectionViewGroupInternal.cs
- PrintDialog.cs
- ButtonBase.cs
- FileSystemInfo.cs
- PageCodeDomTreeGenerator.cs
- DirtyTextRange.cs
- CustomAttributeFormatException.cs
- ADMembershipUser.cs
- DataGridViewCellStyleBuilderDialog.cs
- AsyncPostBackTrigger.cs
- HiddenFieldPageStatePersister.cs
- MessageQueuePermission.cs
- ObjectQueryProvider.cs
- TypeForwardedToAttribute.cs
- Debug.cs
- ExpressionWriter.cs
- ListenerAdapterBase.cs
- ConfigurationManagerInternalFactory.cs
- SafeProcessHandle.cs
- RotateTransform3D.cs
- __FastResourceComparer.cs
- XmlCharCheckingWriter.cs
- GridViewColumn.cs
- RijndaelManagedTransform.cs
- FixedSOMGroup.cs
- HScrollBar.cs
- DbConnectionPoolCounters.cs
- DbProviderFactoriesConfigurationHandler.cs
- SafeMILHandle.cs
- metadatamappinghashervisitor.cs
- XmlEntityReference.cs
- ValidatorCompatibilityHelper.cs
- WebPartConnectionCollection.cs
- SafeNativeMethods.cs
- RegexCaptureCollection.cs
- FloaterParaClient.cs
- ButtonAutomationPeer.cs
- AgileSafeNativeMemoryHandle.cs
- MemberAssignmentAnalysis.cs
- ObjectDataSourceMethodEventArgs.cs
- CodeMemberMethod.cs
- XmlHierarchyData.cs
- ConvertEvent.cs
- IntegerValidatorAttribute.cs
- ProfileEventArgs.cs
- TabControlEvent.cs
- Keyboard.cs
- SoapIgnoreAttribute.cs
- SymbolMethod.cs
- TextEditorLists.cs
- DeferredElementTreeState.cs