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
- EventLogEntry.cs
- Constraint.cs
- LocatorPartList.cs
- StylusPointPropertyInfoDefaults.cs
- AttributeEmitter.cs
- Bezier.cs
- TextTreeDeleteContentUndoUnit.cs
- VariableQuery.cs
- ContextStaticAttribute.cs
- CurrencyWrapper.cs
- ScrollBarRenderer.cs
- DiscoveryClientDuplexChannel.cs
- NativeMethods.cs
- TextSerializer.cs
- ConnectionManagementSection.cs
- CompositionDesigner.cs
- ArgumentOutOfRangeException.cs
- CompilerInfo.cs
- ObjectListComponentEditor.cs
- FlowThrottle.cs
- Normalizer.cs
- InnerItemCollectionView.cs
- DesignTimeTemplateParser.cs
- DataObjectMethodAttribute.cs
- DocumentSequence.cs
- BindingValueChangedEventArgs.cs
- WindowsImpersonationContext.cs
- SizeLimitedCache.cs
- XamlBrushSerializer.cs
- Attributes.cs
- WebPartCatalogCloseVerb.cs
- WaitHandleCannotBeOpenedException.cs
- IISMapPath.cs
- SharedConnectionInfo.cs
- ColumnResizeUndoUnit.cs
- XmlSchemaSimpleTypeList.cs
- ExpressionLexer.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- Command.cs
- OrthographicCamera.cs
- StyleBamlRecordReader.cs
- Predicate.cs
- TcpSocketManager.cs
- XmlMapping.cs
- CodeDirectionExpression.cs
- Run.cs
- SiteMapProvider.cs
- PopupControlService.cs
- ObfuscationAttribute.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- RelationshipSet.cs
- OrderedDictionaryStateHelper.cs
- ItemsPanelTemplate.cs
- RsaKeyIdentifierClause.cs
- CodeAttributeDeclaration.cs
- TypeContext.cs
- Profiler.cs
- KeyNotFoundException.cs
- QilParameter.cs
- RefreshPropertiesAttribute.cs
- ApplicationManager.cs
- GradientBrush.cs
- SaveFileDialog.cs
- MembershipUser.cs
- MethodAccessException.cs
- FormatConvertedBitmap.cs
- BitmapEffectrendercontext.cs
- VisualTreeUtils.cs
- Utils.cs
- PackageRelationshipCollection.cs
- InheritedPropertyDescriptor.cs
- MaskInputRejectedEventArgs.cs
- SiteMap.cs
- ProviderConnectionPoint.cs
- RawStylusInputReport.cs
- ZipFileInfo.cs
- SubtreeProcessor.cs
- GeometryGroup.cs
- WebHttpBinding.cs
- ProgressBar.cs
- TextParentUndoUnit.cs
- MessageLoggingFilterTraceRecord.cs
- SoapAttributes.cs
- DataObjectFieldAttribute.cs
- FileSystemInfo.cs
- XmlWrappingReader.cs
- EntityConnectionStringBuilder.cs
- DynamicValidatorEventArgs.cs
- BezierSegment.cs
- PermissionAttributes.cs
- EncodingTable.cs
- InternalResources.cs
- MarkupCompiler.cs
- SymmetricAlgorithm.cs
- FunctionNode.cs
- WpfXamlType.cs
- HyperLinkStyle.cs
- DrawTreeNodeEventArgs.cs
- CollectionContainer.cs
- MailMessage.cs