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
- TextSchema.cs
- InputManager.cs
- SecurityTokenResolver.cs
- ColumnResizeUndoUnit.cs
- NameValueSectionHandler.cs
- GPRECT.cs
- SpecialNameAttribute.cs
- MenuAdapter.cs
- XmlnsPrefixAttribute.cs
- BaseTemplateBuildProvider.cs
- XamlReaderHelper.cs
- WebBrowserEvent.cs
- SafeArchiveContext.cs
- Query.cs
- ExpandCollapsePattern.cs
- basevalidator.cs
- WsiProfilesElementCollection.cs
- RtType.cs
- ValidatorUtils.cs
- BitmapMetadataBlob.cs
- ProcessRequestArgs.cs
- PersonalizationProviderCollection.cs
- ClientSideProviderDescription.cs
- ValueUtilsSmi.cs
- VariableExpressionConverter.cs
- SqlRowUpdatingEvent.cs
- DataTableMappingCollection.cs
- WindowsRichEdit.cs
- PageHandlerFactory.cs
- oledbmetadatacolumnnames.cs
- NotificationContext.cs
- DeviceSpecificDesigner.cs
- Transform3DCollection.cs
- CompatibleIComparer.cs
- XPathItem.cs
- SafeNativeMethods.cs
- CodeSnippetCompileUnit.cs
- XmlDataCollection.cs
- ZipIOModeEnforcingStream.cs
- DefaultTextStore.cs
- SessionEndedEventArgs.cs
- FormViewRow.cs
- FontStyle.cs
- PrintDialog.cs
- DisposableCollectionWrapper.cs
- InheritanceService.cs
- HtmlTernaryTree.cs
- AutomationPatternInfo.cs
- DataTablePropertyDescriptor.cs
- ScriptModule.cs
- EntityStoreSchemaFilterEntry.cs
- ErrorFormatterPage.cs
- DataGridViewLinkCell.cs
- ToolStripTextBox.cs
- NativeActivityTransactionContext.cs
- DashStyles.cs
- COM2ComponentEditor.cs
- OdbcFactory.cs
- GridViewUpdateEventArgs.cs
- Literal.cs
- CurrencyManager.cs
- MethodBuilder.cs
- BasicKeyConstraint.cs
- followingquery.cs
- ZipFileInfoCollection.cs
- XmlToDatasetMap.cs
- BitmapData.cs
- Int64AnimationBase.cs
- ListItemsCollectionEditor.cs
- X509Certificate2.cs
- RenderData.cs
- HtmlInputHidden.cs
- ObjectReferenceStack.cs
- Preprocessor.cs
- CultureSpecificStringDictionary.cs
- DataSpaceManager.cs
- SHA512Managed.cs
- InvokeMethodActivityDesigner.cs
- VectorCollectionValueSerializer.cs
- ListBase.cs
- Button.cs
- XmlNullResolver.cs
- FileRecordSequence.cs
- DragDrop.cs
- HelpOperationInvoker.cs
- TypeViewSchema.cs
- RadioButtonRenderer.cs
- ParallelTimeline.cs
- GorillaCodec.cs
- PagePropertiesChangingEventArgs.cs
- HideDisabledControlAdapter.cs
- DataBindingCollection.cs
- ExpressionVisitor.cs
- GridPatternIdentifiers.cs
- InheritablePropertyChangeInfo.cs
- SHA256Managed.cs
- SecurityDocument.cs
- BoolExpr.cs
- EntityStoreSchemaGenerator.cs
- UriTemplateTableMatchCandidate.cs