Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- BitmapCacheBrush.cs
- baseaxisquery.cs
- ParagraphVisual.cs
- EnterpriseServicesHelper.cs
- CodeTypeReferenceCollection.cs
- PropertiesTab.cs
- TCPListener.cs
- OdbcFactory.cs
- TraceFilter.cs
- DrawingImage.cs
- IdleTimeoutMonitor.cs
- CompilerError.cs
- ConnectionsZoneAutoFormat.cs
- WebControlAdapter.cs
- AssociationTypeEmitter.cs
- HtmlImage.cs
- NetMsmqSecurityMode.cs
- ValidatorCollection.cs
- GetPolicyDetailsRequest.cs
- XmlLinkedNode.cs
- ILGenerator.cs
- DockPattern.cs
- AppModelKnownContentFactory.cs
- ExtensionSimplifierMarkupObject.cs
- HttpChannelBindingToken.cs
- ContainerUIElement3D.cs
- AspProxy.cs
- RestHandlerFactory.cs
- StructuredTypeInfo.cs
- ReflectionHelper.cs
- StyleConverter.cs
- XpsFilter.cs
- CompositeActivityDesigner.cs
- SspiSecurityTokenProvider.cs
- HwndSource.cs
- safelinkcollection.cs
- ColumnCollection.cs
- BrushConverter.cs
- XmlSiteMapProvider.cs
- Utilities.cs
- BCryptSafeHandles.cs
- MarkupObject.cs
- LocationChangedEventArgs.cs
- EntitySetBase.cs
- CompressionTransform.cs
- BamlVersionHeader.cs
- ClientBuildManagerCallback.cs
- DesignerVerbToolStripMenuItem.cs
- PassportAuthenticationEventArgs.cs
- PlatformCulture.cs
- SqlDataSourceSelectingEventArgs.cs
- NavigationExpr.cs
- ConstNode.cs
- ColumnHeaderConverter.cs
- TargetPerspective.cs
- TableLayoutCellPaintEventArgs.cs
- FontStyleConverter.cs
- PointLightBase.cs
- WebServiceParameterData.cs
- AttachmentCollection.cs
- SymbolMethod.cs
- QuadraticBezierSegment.cs
- CodeTypeReferenceExpression.cs
- ImageFormatConverter.cs
- AddInStore.cs
- PageCatalogPart.cs
- mediapermission.cs
- IsolatedStorageException.cs
- Convert.cs
- ReadOnlyPropertyMetadata.cs
- ProxyWebPartConnectionCollection.cs
- Line.cs
- DocumentPaginator.cs
- MILUtilities.cs
- SerialReceived.cs
- BypassElement.cs
- GlyphInfoList.cs
- ApplicationActivator.cs
- CategoryEditor.cs
- FormViewPageEventArgs.cs
- HyperLink.cs
- WindowsMenu.cs
- MissingSatelliteAssemblyException.cs
- TabControlToolboxItem.cs
- CodeSnippetStatement.cs
- WeakReferenceEnumerator.cs
- Int16KeyFrameCollection.cs
- Ops.cs
- SessionPageStateSection.cs
- RenderingBiasValidation.cs
- XmlHierarchicalEnumerable.cs
- SystemWebCachingSectionGroup.cs
- ClientUrlResolverWrapper.cs
- TypeBrowser.xaml.cs
- ReachBasicContext.cs
- QuestionEventArgs.cs
- CodeValidator.cs
- storepermission.cs
- RequestSecurityToken.cs
- TextSpan.cs