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
- NoResizeSelectionBorderGlyph.cs
- ToolStripDropDownItemDesigner.cs
- WriteFileContext.cs
- AmbientLight.cs
- SmiContext.cs
- DatagridviewDisplayedBandsData.cs
- TagNameToTypeMapper.cs
- SubclassTypeValidatorAttribute.cs
- TypographyProperties.cs
- ParagraphVisual.cs
- TextServicesDisplayAttributePropertyRanges.cs
- HasCopySemanticsAttribute.cs
- MDIControlStrip.cs
- PhysicalAddress.cs
- AuthenticodeSignatureInformation.cs
- SaveFileDialog.cs
- Point3DCollection.cs
- ValidatingReaderNodeData.cs
- WhitespaceRuleReader.cs
- X509CertificateStore.cs
- HttpApplicationFactory.cs
- MaterialGroup.cs
- PathFigure.cs
- ProjectionCamera.cs
- _BaseOverlappedAsyncResult.cs
- HandlerMappingMemo.cs
- RequestCachingSection.cs
- LinkedDataMemberFieldEditor.cs
- ListBox.cs
- ExtensionDataReader.cs
- PopupControlService.cs
- SynchronizedInputProviderWrapper.cs
- shaperfactoryquerycachekey.cs
- GridItemCollection.cs
- WorkflowElementDialog.cs
- CustomPeerResolverService.cs
- TextServicesProperty.cs
- WebDescriptionAttribute.cs
- RuntimeEnvironment.cs
- AttributeTable.cs
- EmptyReadOnlyDictionaryInternal.cs
- XmlSchemaGroupRef.cs
- ServiceDesigner.xaml.cs
- ForceCopyBuildProvider.cs
- DataGridViewCellParsingEventArgs.cs
- XmlArrayAttribute.cs
- TransferRequestHandler.cs
- PaperSize.cs
- ClusterRegistryConfigurationProvider.cs
- CodeFieldReferenceExpression.cs
- LinqDataSourceHelper.cs
- DataRowView.cs
- CodeDOMUtility.cs
- CaseKeyBox.xaml.cs
- Object.cs
- Nullable.cs
- EncodingInfo.cs
- XmlAttributeHolder.cs
- CodeCastExpression.cs
- DeviceContext.cs
- EntityDataSourceQueryBuilder.cs
- CategoryNameCollection.cs
- CollectionsUtil.cs
- EventRecordWrittenEventArgs.cs
- DbTransaction.cs
- VariantWrapper.cs
- StyleTypedPropertyAttribute.cs
- AnnotationComponentManager.cs
- PageThemeParser.cs
- MulticastDelegate.cs
- HttpHeaderCollection.cs
- CheckBox.cs
- PropertyIDSet.cs
- ResourceAssociationSetEnd.cs
- WebSysDisplayNameAttribute.cs
- WebPartZoneBaseDesigner.cs
- _DigestClient.cs
- CacheAxisQuery.cs
- StackOverflowException.cs
- BitmapSource.cs
- LocalizableResourceBuilder.cs
- MessageFilterTable.cs
- Table.cs
- GuidelineSet.cs
- EmptyImpersonationContext.cs
- MenuItemCollection.cs
- QuaternionAnimation.cs
- ListDesigner.cs
- CssStyleCollection.cs
- XmlUrlResolver.cs
- MetafileEditor.cs
- RelOps.cs
- ToolStripControlHost.cs
- ComponentEditorForm.cs
- RC2CryptoServiceProvider.cs
- ConfigUtil.cs
- WindowsRegion.cs
- DecimalStorage.cs
- PixelFormats.cs
- CacheVirtualItemsEvent.cs