Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- listitem.cs
- PeerPresenceInfo.cs
- WebPartManagerDesigner.cs
- FlagsAttribute.cs
- ProjectionCamera.cs
- SmiEventStream.cs
- ChannelCacheDefaults.cs
- RuntimeEnvironment.cs
- ExpressionParser.cs
- Viewport2DVisual3D.cs
- TextBoxRenderer.cs
- CodeMemberField.cs
- LinqDataSourceContextData.cs
- SendActivityDesigner.cs
- ColorMatrix.cs
- XmlBinaryReader.cs
- BitmapImage.cs
- Form.cs
- DrawingBrush.cs
- ApplicationGesture.cs
- MessageQueueTransaction.cs
- TableLayoutSettings.cs
- DataBindEngine.cs
- SerializationObjectManager.cs
- BroadcastEventHelper.cs
- Image.cs
- ImageBrush.cs
- TableColumn.cs
- BindUriHelper.cs
- BoolLiteral.cs
- SoapInteropTypes.cs
- IRCollection.cs
- HitTestResult.cs
- Win32MouseDevice.cs
- XmlNotation.cs
- ProcessManager.cs
- DefaultParameterValueAttribute.cs
- Setter.cs
- NonVisualControlAttribute.cs
- TimeZone.cs
- TabControlAutomationPeer.cs
- ProcessStartInfo.cs
- AsyncOperationManager.cs
- PageOutputColor.cs
- CharacterMetrics.cs
- DataMisalignedException.cs
- Transform.cs
- FontDialog.cs
- ItemCollection.cs
- DeflateEmulationStream.cs
- BorderGapMaskConverter.cs
- Function.cs
- HttpListenerPrefixCollection.cs
- xamlnodes.cs
- CodeConditionStatement.cs
- KernelTypeValidation.cs
- QueryOperationResponseOfT.cs
- PrintControllerWithStatusDialog.cs
- SynchronizedInputPattern.cs
- ProcessModule.cs
- GuidelineCollection.cs
- PathFigure.cs
- MsmqIntegrationMessagePool.cs
- ListViewDataItem.cs
- EntityTransaction.cs
- BridgeDataRecord.cs
- User.cs
- ButtonPopupAdapter.cs
- DesignerCategoryAttribute.cs
- XmlConverter.cs
- Parameter.cs
- Control.cs
- ObjectListTitleAttribute.cs
- DbConnectionPoolOptions.cs
- TableRow.cs
- WarningException.cs
- FloatUtil.cs
- AspNetPartialTrustHelpers.cs
- BufferedOutputStream.cs
- SecureEnvironment.cs
- brushes.cs
- GeometryGroup.cs
- Point3D.cs
- CheckBoxBaseAdapter.cs
- AssemblyInfo.cs
- CloudCollection.cs
- NotifyParentPropertyAttribute.cs
- sqlinternaltransaction.cs
- DataServiceSaveChangesEventArgs.cs
- DesignerVerbCollection.cs
- StateItem.cs
- GridViewCancelEditEventArgs.cs
- PixelFormatConverter.cs
- StringFreezingAttribute.cs
- SspiWrapper.cs
- ExpandSegment.cs
- IsolatedStorageFilePermission.cs
- RuleCache.cs
- JsonObjectDataContract.cs
- TextElementCollection.cs