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
- ExpressionBuilderContext.cs
- DataRelation.cs
- ConfigurationPropertyCollection.cs
- EdmComplexPropertyAttribute.cs
- CharAnimationBase.cs
- SafeCryptContextHandle.cs
- TagMapCollection.cs
- AmbientLight.cs
- URLString.cs
- _HeaderInfo.cs
- ArrayList.cs
- Dictionary.cs
- ManagementNamedValueCollection.cs
- IfJoinedCondition.cs
- DbParameterHelper.cs
- Transactions.cs
- AssemblyResourceLoader.cs
- XmlnsDictionary.cs
- BindingExpressionBase.cs
- HtmlAnchor.cs
- ZoneLinkButton.cs
- ChildrenQuery.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- cookie.cs
- PropagatorResult.cs
- ByteStreamBufferedMessageData.cs
- AnonymousIdentificationSection.cs
- PolyLineSegment.cs
- MissingSatelliteAssemblyException.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- CatalogPartChrome.cs
- XmlBinaryReader.cs
- IisTraceWebEventProvider.cs
- CopyNamespacesAction.cs
- XmlSchemaChoice.cs
- SessionEndedEventArgs.cs
- BitArray.cs
- EncryptedXml.cs
- EventSetterHandlerConverter.cs
- Component.cs
- XPathCompileException.cs
- CacheSection.cs
- XhtmlBasicLabelAdapter.cs
- ColorConvertedBitmap.cs
- DelegateTypeInfo.cs
- CollectionsUtil.cs
- QueuedDeliveryRequirementsMode.cs
- BlurBitmapEffect.cs
- DirectoryNotFoundException.cs
- ControlBindingsCollection.cs
- XPathNavigatorKeyComparer.cs
- TimelineGroup.cs
- RegexWorker.cs
- HtmlEncodedRawTextWriter.cs
- Style.cs
- ListViewItemMouseHoverEvent.cs
- TripleDES.cs
- SiteMapProvider.cs
- WorkflowViewManager.cs
- Attributes.cs
- ScalarType.cs
- TextPenaltyModule.cs
- VariantWrapper.cs
- DataBoundControlHelper.cs
- SQLInt32.cs
- UnescapedXmlDiagnosticData.cs
- TextBounds.cs
- CustomTypeDescriptor.cs
- MoveSizeWinEventHandler.cs
- UriWriter.cs
- ReflectTypeDescriptionProvider.cs
- ObjectDataSourceEventArgs.cs
- PointHitTestResult.cs
- PropertyMetadata.cs
- WebPartEditorCancelVerb.cs
- DataGridCell.cs
- ShutDownListener.cs
- VisemeEventArgs.cs
- QilXmlReader.cs
- HitTestResult.cs
- ContextMenuAutomationPeer.cs
- LinqDataSourceDisposeEventArgs.cs
- HtmlLink.cs
- CapiSafeHandles.cs
- StrongNameMembershipCondition.cs
- LayoutEngine.cs
- MethodImplAttribute.cs
- PasswordTextContainer.cs
- messageonlyhwndwrapper.cs
- UrlAuthFailureHandler.cs
- IntSecurity.cs
- IdentityReference.cs
- PropertyManager.cs
- coordinator.cs
- CellParaClient.cs
- Root.cs
- DataGridViewCellPaintingEventArgs.cs
- HelpFileFileNameEditor.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- TransformerInfo.cs