Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- SettingsSection.cs
- InternalRelationshipCollection.cs
- OperationPerformanceCounters.cs
- ProfilePropertyNameValidator.cs
- D3DImage.cs
- QilBinary.cs
- PersonalizationProviderHelper.cs
- FontFamilyValueSerializer.cs
- HtmlTableCellCollection.cs
- WorkflowDefinitionContext.cs
- ToolStripDropDownClosedEventArgs.cs
- RestHandlerFactory.cs
- WindowsUpDown.cs
- Transform.cs
- EventLogPermission.cs
- PasswordPropertyTextAttribute.cs
- AdPostCacheSubstitution.cs
- BindToObject.cs
- GetPolicyDetailsRequest.cs
- EventWaitHandleSecurity.cs
- LoginDesignerUtil.cs
- EventsTab.cs
- ScalarType.cs
- TreeNode.cs
- MarshalDirectiveException.cs
- ExternalDataExchangeService.cs
- DefaultPropertiesToSend.cs
- ListControlConvertEventArgs.cs
- PieceNameHelper.cs
- Parallel.cs
- LinkedList.cs
- XmlSerializableWriter.cs
- ProgressBarRenderer.cs
- LazyTextWriterCreator.cs
- CollectionViewGroup.cs
- ThemeDictionaryExtension.cs
- HttpWrapper.cs
- ProtocolElementCollection.cs
- DataListItemEventArgs.cs
- X509Utils.cs
- XNodeNavigator.cs
- ValidationEventArgs.cs
- DataBoundControlHelper.cs
- ApplicationDirectory.cs
- LinqDataView.cs
- DynamicMetaObjectBinder.cs
- SerializerWriterEventHandlers.cs
- XmlSignatureProperties.cs
- MailMessageEventArgs.cs
- FileLevelControlBuilderAttribute.cs
- TextEditorCopyPaste.cs
- ApplicationHost.cs
- InplaceBitmapMetadataWriter.cs
- PolicyChain.cs
- CodeAttributeArgumentCollection.cs
- DataSourceCacheDurationConverter.cs
- XmlDocumentSerializer.cs
- SQLResource.cs
- WorkflowQueuingService.cs
- DataGridViewColumnHeaderCell.cs
- externdll.cs
- XmlnsDictionary.cs
- LambdaCompiler.Logical.cs
- SqlNamer.cs
- ToolStripGripRenderEventArgs.cs
- RuntimeCompatibilityAttribute.cs
- TrackingStringDictionary.cs
- CommandField.cs
- ScriptReference.cs
- SafeEventLogWriteHandle.cs
- TabItemAutomationPeer.cs
- OraclePermissionAttribute.cs
- prompt.cs
- ConnectionStringSettingsCollection.cs
- WebPartEditorCancelVerb.cs
- CompilerState.cs
- Char.cs
- ParameterCollection.cs
- TextServicesHost.cs
- MenuTracker.cs
- XmlTextReader.cs
- SmiContextFactory.cs
- ArgumentNullException.cs
- PenThreadWorker.cs
- MenuItem.cs
- SoapFormatter.cs
- ScrollPattern.cs
- EnterpriseServicesHelper.cs
- SuppressMergeCheckAttribute.cs
- ScrollItemPattern.cs
- InkCanvasSelectionAdorner.cs
- TrustSection.cs
- XmlSerializer.cs
- XmlArrayItemAttribute.cs
- MailWebEventProvider.cs
- SurrogateSelector.cs
- TextSimpleMarkerProperties.cs
- SqlDeflator.cs
- CompositeScriptReferenceEventArgs.cs
- SystemInfo.cs