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
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- MergeFilterQuery.cs
- _RegBlobWebProxyDataBuilder.cs
- XamlTypeMapper.cs
- Vector.cs
- CursorInteropHelper.cs
- COAUTHINFO.cs
- TransactionFlowBindingElement.cs
- CodeTypeParameterCollection.cs
- InfoCardBinaryReader.cs
- OutOfMemoryException.cs
- TraceSection.cs
- WebPartDescriptionCollection.cs
- ViewGenResults.cs
- ChangeProcessor.cs
- OleStrCAMarshaler.cs
- EntityParameterCollection.cs
- EqualityArray.cs
- RoutedEventHandlerInfo.cs
- CqlErrorHelper.cs
- DataRecordInternal.cs
- RuleSettingsCollection.cs
- WebPartTracker.cs
- SplayTreeNode.cs
- PropertyConverter.cs
- ExecutedRoutedEventArgs.cs
- ImageButton.cs
- SortedSet.cs
- DataControlButton.cs
- TemplatedWizardStep.cs
- SQLRoleProvider.cs
- MimeAnyImporter.cs
- IFlowDocumentViewer.cs
- TemplateManager.cs
- MultilineStringConverter.cs
- PersonalizationStateQuery.cs
- UrlMapping.cs
- ValidatorUtils.cs
- NullReferenceException.cs
- SqlRecordBuffer.cs
- TraceContext.cs
- TcpClientCredentialType.cs
- LostFocusEventManager.cs
- MenuItemBinding.cs
- HttpWebRequest.cs
- XPathNode.cs
- CodeSpit.cs
- WindowsGraphics.cs
- BamlReader.cs
- AuthenticationService.cs
- ContextMenuService.cs
- XmlSchemaComplexContentExtension.cs
- CacheDependency.cs
- MsmqMessage.cs
- VideoDrawing.cs
- HttpRequestCacheValidator.cs
- EntityDataSourceView.cs
- TextSearch.cs
- ProcessHost.cs
- CommandPlan.cs
- StreamGeometry.cs
- BindUriHelper.cs
- FrameworkElementFactoryMarkupObject.cs
- PathTooLongException.cs
- DataTransferEventArgs.cs
- BindingCompleteEventArgs.cs
- IsolatedStoragePermission.cs
- Module.cs
- FieldBuilder.cs
- Util.cs
- XsltArgumentList.cs
- RemotingServices.cs
- XmlSchemaCollection.cs
- DependencyObjectType.cs
- CollectionBase.cs
- HtmlInputControl.cs
- XamlReaderHelper.cs
- CounterCreationData.cs
- infer.cs
- OutputScope.cs
- ModelItemImpl.cs
- ScriptingScriptResourceHandlerSection.cs
- CodeTypeMemberCollection.cs
- HitTestDrawingContextWalker.cs
- StylusSystemGestureEventArgs.cs
- InternalPermissions.cs
- RangeValidator.cs
- EditorPart.cs
- CompilerError.cs
- DesignerSerializationManager.cs
- EndEvent.cs
- FixedSOMLineRanges.cs
- TriState.cs
- IncrementalReadDecoders.cs
- XmlSchemaAnyAttribute.cs
- Privilege.cs
- Page.cs
- AutomationProperty.cs
- InstallerTypeAttribute.cs
- TextParaLineResult.cs