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
- ToolTipAutomationPeer.cs
- DocumentApplicationJournalEntry.cs
- FormsAuthenticationCredentials.cs
- XmlQualifiedName.cs
- Soap.cs
- DateTimePicker.cs
- ChannelEndpointElementCollection.cs
- LoginAutoFormat.cs
- LoginCancelEventArgs.cs
- ZipIOLocalFileDataDescriptor.cs
- _ProxyRegBlob.cs
- ColumnWidthChangingEvent.cs
- AssemblyBuilder.cs
- odbcmetadatacolumnnames.cs
- ProfilePropertySettings.cs
- TakeQueryOptionExpression.cs
- CompositeDataBoundControl.cs
- ProviderConnectionPoint.cs
- PageCanvasSize.cs
- SortedList.cs
- XmlLinkedNode.cs
- TextEffectCollection.cs
- SqlCachedBuffer.cs
- IconConverter.cs
- SystemUnicastIPAddressInformation.cs
- ArrayTypeMismatchException.cs
- TextBlockAutomationPeer.cs
- OleDbConnectionInternal.cs
- TableHeaderCell.cs
- ToolStripPanelRow.cs
- MetadataUtil.cs
- DefaultClaimSet.cs
- Light.cs
- JsonReader.cs
- RawStylusInputCustomDataList.cs
- SafeNativeMethods.cs
- EndEvent.cs
- SmiEventSink_Default.cs
- WeakReference.cs
- PeerMaintainer.cs
- EncodingInfo.cs
- Blend.cs
- TraceListeners.cs
- TriggerActionCollection.cs
- DependencyProperty.cs
- ErrorInfoXmlDocument.cs
- PropertyRecord.cs
- PersonalizationDictionary.cs
- BitmapDecoder.cs
- BindingUtils.cs
- DisplayNameAttribute.cs
- ToggleButtonAutomationPeer.cs
- odbcmetadatacollectionnames.cs
- BamlReader.cs
- FlagPanel.cs
- SessionIDManager.cs
- DoubleStorage.cs
- SharedDp.cs
- RemoteWebConfigurationHostServer.cs
- ExpressionVisitor.cs
- RTTrackingProfile.cs
- CopyOfAction.cs
- ExpressionStringBuilder.cs
- WebConfigurationManager.cs
- SessionPageStateSection.cs
- DelegatedStream.cs
- OrCondition.cs
- WebPartCancelEventArgs.cs
- ContextStaticAttribute.cs
- HostedTcpTransportManager.cs
- InstanceDataCollectionCollection.cs
- AttachedAnnotation.cs
- WriterOutput.cs
- XmlNodeChangedEventManager.cs
- ControlBuilderAttribute.cs
- DrawingGroupDrawingContext.cs
- ListView.cs
- SortDescription.cs
- ConfigXmlDocument.cs
- SchemaNames.cs
- WindowsListViewScroll.cs
- LambdaCompiler.Unary.cs
- WindowsSpinner.cs
- MissingMemberException.cs
- ImageFormatConverter.cs
- Matrix3DStack.cs
- InvokeGenerator.cs
- MiniLockedBorderGlyph.cs
- SmtpFailedRecipientsException.cs
- PresentationSource.cs
- SecurityContextCookieSerializer.cs
- SchemaImporterExtensionElement.cs
- RequestNavigateEventArgs.cs
- ObjectViewFactory.cs
- HttpListenerException.cs
- OracleParameterBinding.cs
- PageParser.cs
- base64Transforms.cs
- CTreeGenerator.cs
- SchemaImporter.cs