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
- MediaPlayerState.cs
- ImageButton.cs
- SQLCharsStorage.cs
- FileLevelControlBuilderAttribute.cs
- Memoizer.cs
- CopyAction.cs
- EmptyControlCollection.cs
- DataRow.cs
- FormViewInsertedEventArgs.cs
- SqlFormatter.cs
- xmlsaver.cs
- SafeEventLogReadHandle.cs
- ClientBuildManagerCallback.cs
- Baml2006ReaderContext.cs
- LicenseContext.cs
- WriteTimeStream.cs
- CodeComment.cs
- SmtpNegotiateAuthenticationModule.cs
- AdPostCacheSubstitution.cs
- BamlRecords.cs
- WindowShowOrOpenTracker.cs
- Internal.cs
- FastPropertyAccessor.cs
- Collection.cs
- MenuBase.cs
- SqlDataRecord.cs
- SoapSchemaExporter.cs
- Crypto.cs
- DataSourceListEditor.cs
- UnsafeNativeMethods.cs
- FragmentQueryKB.cs
- precedingsibling.cs
- NameSpaceExtractor.cs
- COM2ComponentEditor.cs
- XamlClipboardData.cs
- RawStylusSystemGestureInputReport.cs
- CodeLinePragma.cs
- CodeDelegateInvokeExpression.cs
- PropertyCollection.cs
- XmlSchemaComplexType.cs
- comcontractssection.cs
- SkewTransform.cs
- ZipFileInfoCollection.cs
- SpecularMaterial.cs
- CompilationLock.cs
- ItemCollection.cs
- XmlWrappingWriter.cs
- ValidatorCompatibilityHelper.cs
- MimeParameterWriter.cs
- CompositeControlDesigner.cs
- Misc.cs
- ImageFormat.cs
- StylusButtonCollection.cs
- CookieHandler.cs
- SectionUpdates.cs
- ParagraphResult.cs
- StartFileNameEditor.cs
- TransactionFlowAttribute.cs
- Hyperlink.cs
- Image.cs
- SapiInterop.cs
- RuleSetDialog.Designer.cs
- OuterGlowBitmapEffect.cs
- SpotLight.cs
- CalendarAutomationPeer.cs
- MenuRendererStandards.cs
- CardSpaceSelector.cs
- PrintDialogException.cs
- WbemException.cs
- ObjectAnimationUsingKeyFrames.cs
- Region.cs
- QueryOutputWriter.cs
- HijriCalendar.cs
- XmlQueryRuntime.cs
- safemediahandle.cs
- SiteIdentityPermission.cs
- datacache.cs
- MetadataArtifactLoader.cs
- AttributeData.cs
- BaseCollection.cs
- ConfigurationManagerHelperFactory.cs
- PreservationFileReader.cs
- PackageRelationship.cs
- SymmetricKey.cs
- EventHandlersStore.cs
- ComponentRenameEvent.cs
- SpecularMaterial.cs
- DiagnosticsConfiguration.cs
- ComplusEndpointConfigContainer.cs
- ValidatedControlConverter.cs
- FilterEventArgs.cs
- AnnotationStore.cs
- DefaultEventAttribute.cs
- Set.cs
- EdgeProfileValidation.cs
- RTLAwareMessageBox.cs
- AmbientLight.cs
- DateBoldEvent.cs
- ProtocolsConfigurationEntry.cs
- PackageRelationshipCollection.cs