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
- LingerOption.cs
- DateTimeValueSerializerContext.cs
- DbSourceParameterCollection.cs
- TreeNodeBindingCollection.cs
- TraceListener.cs
- VBCodeProvider.cs
- PaintValueEventArgs.cs
- Track.cs
- InvalidComObjectException.cs
- HttpModuleAction.cs
- DeploymentSection.cs
- AxHostDesigner.cs
- LogSwitch.cs
- Int32CollectionConverter.cs
- XmlSerializationGeneratedCode.cs
- _HeaderInfoTable.cs
- XmlSchemaSimpleType.cs
- DataMisalignedException.cs
- TransportBindingElementImporter.cs
- GeometryDrawing.cs
- WebPartCatalogCloseVerb.cs
- BindStream.cs
- RSAOAEPKeyExchangeDeformatter.cs
- Point4D.cs
- ConfigurationElementCollection.cs
- ProxyWebPartManager.cs
- HtmlFormAdapter.cs
- NetDispatcherFaultException.cs
- CompositeDataBoundControl.cs
- CSharpCodeProvider.cs
- KeyboardNavigation.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- WsdlBuildProvider.cs
- BindingCollection.cs
- ThousandthOfEmRealDoubles.cs
- GridView.cs
- DoubleAnimationClockResource.cs
- MouseBinding.cs
- SchemaUtility.cs
- AssemblyBuilderData.cs
- streamingZipPartStream.cs
- EmbeddedMailObject.cs
- StatusBar.cs
- RightsManagementPermission.cs
- ToolStripSplitStackLayout.cs
- ParseNumbers.cs
- Environment.cs
- BufferModesCollection.cs
- ZipPackagePart.cs
- QueryTaskGroupState.cs
- Content.cs
- Vector3DValueSerializer.cs
- ViewBox.cs
- PersonalizationEntry.cs
- Comparer.cs
- MetadataCache.cs
- CodeStatementCollection.cs
- EventQueueState.cs
- VirtualDirectoryMapping.cs
- Tuple.cs
- SqlMultiplexer.cs
- FixedFindEngine.cs
- HideDisabledControlAdapter.cs
- CanonicalFontFamilyReference.cs
- WebConfigurationFileMap.cs
- PropertyItemInternal.cs
- SizeChangedEventArgs.cs
- Margins.cs
- PageBuildProvider.cs
- PictureBox.cs
- EncodingNLS.cs
- ToolStripSeparatorRenderEventArgs.cs
- PerformanceCounterTraceRecord.cs
- CapabilitiesPattern.cs
- AttributeEmitter.cs
- PictureBoxDesigner.cs
- RegistrySecurity.cs
- FileNameEditor.cs
- LinqDataSourceContextEventArgs.cs
- SHA1Managed.cs
- ResourceContainer.cs
- Hyperlink.cs
- SrgsSemanticInterpretationTag.cs
- AttributeCollection.cs
- MissingSatelliteAssemblyException.cs
- PeerSecurityManager.cs
- TextSelectionProcessor.cs
- _SSPIWrapper.cs
- AnchoredBlock.cs
- PersonalizablePropertyEntry.cs
- DesignerVerbToolStripMenuItem.cs
- DropDownHolder.cs
- ResXDataNode.cs
- ApplicationServiceHelper.cs
- EventDescriptor.cs
- DrawItemEvent.cs
- DynamicDiscoSearcher.cs
- AssociationType.cs
- RawMouseInputReport.cs
- CancelEventArgs.cs