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
- IntellisenseTextBox.cs
- Cursors.cs
- DocumentViewerHelper.cs
- EntityKeyElement.cs
- SizeAnimationBase.cs
- Stylesheet.cs
- ArrayEditor.cs
- XmlNamespaceMappingCollection.cs
- FixedDocumentSequencePaginator.cs
- CodeIndexerExpression.cs
- ToggleButtonAutomationPeer.cs
- CommandField.cs
- FeatureSupport.cs
- KnownTypes.cs
- SyndicationFeed.cs
- HttpBufferlessInputStream.cs
- path.cs
- DiagnosticTrace.cs
- activationcontext.cs
- PersonalizationState.cs
- SortExpressionBuilder.cs
- ListenerServiceInstallComponent.cs
- GetIndexBinder.cs
- CannotUnloadAppDomainException.cs
- NamespaceList.cs
- COAUTHINFO.cs
- KeyToListMap.cs
- WebPartMinimizeVerb.cs
- WrapPanel.cs
- EnumerableRowCollectionExtensions.cs
- MatrixAnimationUsingPath.cs
- BinaryUtilClasses.cs
- RangeContentEnumerator.cs
- SmtpTransport.cs
- Invariant.cs
- ExtendedPropertyDescriptor.cs
- SplitterPanelDesigner.cs
- IsolatedStorageFile.cs
- VersionUtil.cs
- UIElementParagraph.cs
- CodeExporter.cs
- ObjectDataSourceStatusEventArgs.cs
- WmlPanelAdapter.cs
- PropertyEmitter.cs
- AffineTransform3D.cs
- ListViewUpdatedEventArgs.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- PaintValueEventArgs.cs
- OleServicesContext.cs
- IntegerCollectionEditor.cs
- CheckedPointers.cs
- TrustLevel.cs
- SystemTcpStatistics.cs
- HyperLinkStyle.cs
- CompositeCollectionView.cs
- SecurityHeaderLayout.cs
- IUnknownConstantAttribute.cs
- QilInvoke.cs
- MouseButton.cs
- Context.cs
- RelationshipSet.cs
- DataKeyArray.cs
- ConvertTextFrag.cs
- DbException.cs
- ConditionedDesigner.cs
- VBCodeProvider.cs
- MouseGestureConverter.cs
- StructuralType.cs
- EncryptedReference.cs
- Bind.cs
- ConnectionPointCookie.cs
- OdbcRowUpdatingEvent.cs
- CellPartitioner.cs
- SiteMapDataSource.cs
- ValidationUtility.cs
- NeutralResourcesLanguageAttribute.cs
- PartialCachingControl.cs
- DiscardableAttribute.cs
- DataConnectionHelper.cs
- SByteStorage.cs
- RegistryPermission.cs
- SymLanguageVendor.cs
- BuildManagerHost.cs
- SpeechRecognizer.cs
- EntityContainer.cs
- ContextBase.cs
- Int64.cs
- XMLDiffLoader.cs
- CoreSwitches.cs
- contentDescriptor.cs
- GradientSpreadMethodValidation.cs
- XmlSchemaAttributeGroupRef.cs
- TimeZone.cs
- ModulesEntry.cs
- OleDbMetaDataFactory.cs
- SqlIdentifier.cs
- CodeIndexerExpression.cs
- InstanceLockException.cs
- GlyphShapingProperties.cs
- PaginationProgressEventArgs.cs