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
- KeyConverter.cs
- EntityCommandDefinition.cs
- DocumentApplicationJournalEntry.cs
- HandleExceptionArgs.cs
- KeyValuePairs.cs
- SerializationBinder.cs
- HandlerBase.cs
- cache.cs
- InfocardInteractiveChannelInitializer.cs
- BaseConfigurationRecord.cs
- MappingMetadataHelper.cs
- ItemChangedEventArgs.cs
- Geometry3D.cs
- SqlCacheDependencySection.cs
- TableDesigner.cs
- SiteMapNodeItem.cs
- FormConverter.cs
- ServiceOperationInvoker.cs
- EnumType.cs
- ClientUriBehavior.cs
- DisplayMemberTemplateSelector.cs
- XmlSchemaSearchPattern.cs
- SafeNativeMethods.cs
- TaskForm.cs
- TreeNode.cs
- PriorityRange.cs
- ObjectToIdCache.cs
- ChtmlCommandAdapter.cs
- DocumentReferenceCollection.cs
- COSERVERINFO.cs
- TemplateApplicationHelper.cs
- TypeDependencyAttribute.cs
- EntityProviderServices.cs
- FormView.cs
- xsdvalidator.cs
- ChineseLunisolarCalendar.cs
- TablePattern.cs
- unitconverter.cs
- Vector3DAnimationUsingKeyFrames.cs
- RecognitionResult.cs
- DataTemplate.cs
- TrackingExtract.cs
- BasicCellRelation.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- UrlAuthorizationModule.cs
- Message.cs
- XmlnsDefinitionAttribute.cs
- StateDesigner.cs
- BindingCollectionElement.cs
- ToolStripGripRenderEventArgs.cs
- OleDbSchemaGuid.cs
- AlphabeticalEnumConverter.cs
- TreeNodeEventArgs.cs
- BuiltInExpr.cs
- GradientStop.cs
- ByteAnimationBase.cs
- LinearKeyFrames.cs
- NativeMethods.cs
- OrderedDictionary.cs
- PersonalizationStateInfo.cs
- BinaryMessageEncodingElement.cs
- BuildDependencySet.cs
- IsolatedStorage.cs
- Constants.cs
- UnlockInstanceCommand.cs
- COM2IDispatchConverter.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- BitmapPalette.cs
- XmlWriterTraceListener.cs
- DataMember.cs
- DataRowChangeEvent.cs
- CodeParameterDeclarationExpression.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SQLDateTimeStorage.cs
- SystemWebCachingSectionGroup.cs
- Polygon.cs
- ParameterBuilder.cs
- IERequestCache.cs
- DataExpression.cs
- GeometryGroup.cs
- UnitySerializationHolder.cs
- TreeNodeStyle.cs
- SqlTypesSchemaImporter.cs
- RunInstallerAttribute.cs
- ShapingWorkspace.cs
- PrintDocument.cs
- JsonCollectionDataContract.cs
- DataKeyCollection.cs
- ComboBoxAutomationPeer.cs
- CacheRequest.cs
- NavigationExpr.cs
- IPipelineRuntime.cs
- SettingsPropertyCollection.cs
- ReliableChannelBinder.cs
- BreakRecordTable.cs
- ControlValuePropertyAttribute.cs
- ServiceDescription.cs
- MulticastOption.cs
- CodeConstructor.cs
- ComponentChangingEvent.cs