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
- SettingsPropertyWrongTypeException.cs
- BlurBitmapEffect.cs
- OleDbDataAdapter.cs
- PageContentAsyncResult.cs
- TrackingMemoryStreamFactory.cs
- OdbcEnvironment.cs
- precedingsibling.cs
- CodeDirectionExpression.cs
- GeometryDrawing.cs
- WizardForm.cs
- DebugTraceHelper.cs
- GradientStopCollection.cs
- StatusBarPanel.cs
- MobileControlPersister.cs
- SqlDataSourceView.cs
- KeyManager.cs
- ReflectionTypeLoadException.cs
- SqlRowUpdatedEvent.cs
- DesigntimeLicenseContext.cs
- WizardSideBarListControlItemEventArgs.cs
- XmlObjectSerializerReadContextComplex.cs
- DataColumnPropertyDescriptor.cs
- AppDomainFactory.cs
- AdPostCacheSubstitution.cs
- Action.cs
- DataGridViewRow.cs
- RegisteredScript.cs
- DocumentXPathNavigator.cs
- BuildProvidersCompiler.cs
- DetailsViewPagerRow.cs
- XmlMemberMapping.cs
- DataContractJsonSerializer.cs
- ReferenceEqualityComparer.cs
- DataSetFieldSchema.cs
- GroupBoxRenderer.cs
- SerializationFieldInfo.cs
- DBAsyncResult.cs
- SvcMapFileLoader.cs
- SqlCommandSet.cs
- TemplateAction.cs
- MobileControl.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- hebrewshape.cs
- ColumnResizeUndoUnit.cs
- ResXDataNode.cs
- DragDrop.cs
- LinqDataSourceInsertEventArgs.cs
- DataView.cs
- ServiceInfo.cs
- LineBreakRecord.cs
- SizeFConverter.cs
- MarkupExtensionReturnTypeAttribute.cs
- CategoryAttribute.cs
- ComponentEditorForm.cs
- CatalogZoneBase.cs
- Assembly.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- UIServiceHelper.cs
- Enum.cs
- Parameter.cs
- GroupBoxRenderer.cs
- DataSetMappper.cs
- ExeConfigurationFileMap.cs
- CodeVariableReferenceExpression.cs
- Typeface.cs
- OutOfProcStateClientManager.cs
- externdll.cs
- TextShapeableCharacters.cs
- SetIterators.cs
- PublisherIdentityPermission.cs
- ConfigurationStrings.cs
- WebPartsPersonalization.cs
- ThemeDirectoryCompiler.cs
- Grant.cs
- ActivityInterfaces.cs
- CustomCredentialPolicy.cs
- FileInfo.cs
- RefreshPropertiesAttribute.cs
- RuntimeCompatibilityAttribute.cs
- PtsHelper.cs
- SynchronizationHandlesCodeDomSerializer.cs
- Lazy.cs
- UniqueConstraint.cs
- MgmtConfigurationRecord.cs
- PaperSize.cs
- GridViewItemAutomationPeer.cs
- SafeBitVector32.cs
- XamlStyleSerializer.cs
- WebPartEditorOkVerb.cs
- DockAndAnchorLayout.cs
- KnownBoxes.cs
- WebMethodAttribute.cs
- SafeRightsManagementPubHandle.cs
- StringCollection.cs
- TextParaLineResult.cs
- BooleanSwitch.cs
- XmlSchemaGroupRef.cs
- TreeNodeEventArgs.cs
- MouseGestureConverter.cs
- XmlTextReader.cs