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
- SqlDataSourceCommandParser.cs
- ProxyAttribute.cs
- SynchronizationFilter.cs
- PageParserFilter.cs
- Win32MouseDevice.cs
- WebHttpBindingElement.cs
- MsmqHostedTransportManager.cs
- WinFormsComponentEditor.cs
- DataSourceHelper.cs
- PrimaryKeyTypeConverter.cs
- ValidationRuleCollection.cs
- ContextStaticAttribute.cs
- TargetException.cs
- BidOverLoads.cs
- CollectionView.cs
- Win32.cs
- GenericQueueSurrogate.cs
- DBCommand.cs
- CompositeActivityTypeDescriptor.cs
- MouseGesture.cs
- Italic.cs
- AssemblyNameProxy.cs
- InkCanvas.cs
- TimeSpanOrInfiniteValidator.cs
- PrintDocument.cs
- EventSetter.cs
- OrthographicCamera.cs
- InkCanvasAutomationPeer.cs
- ADConnectionHelper.cs
- ToolBar.cs
- BooleanAnimationBase.cs
- MSHTMLHost.cs
- EntityDataSourceContextCreatingEventArgs.cs
- InboundActivityHelper.cs
- SrgsElement.cs
- ConfigurationStrings.cs
- WebBrowserBase.cs
- CustomAssemblyResolver.cs
- XmlEntity.cs
- InitializationEventAttribute.cs
- DesignTimeData.cs
- sqlser.cs
- WarningException.cs
- HttpProxyCredentialType.cs
- Section.cs
- PointKeyFrameCollection.cs
- SurrogateEncoder.cs
- CodeBlockBuilder.cs
- XmlILTrace.cs
- EntityViewGenerationAttribute.cs
- ConstructorArgumentAttribute.cs
- IgnorePropertiesAttribute.cs
- CreateRefExpr.cs
- MachineKeySection.cs
- TemplateXamlParser.cs
- DashStyle.cs
- CultureSpecificStringDictionary.cs
- BindingElementCollection.cs
- Delay.cs
- _DisconnectOverlappedAsyncResult.cs
- VideoDrawing.cs
- AppDomainGrammarProxy.cs
- ClientSponsor.cs
- ItemContainerPattern.cs
- EventLogPermissionEntry.cs
- Math.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- AddressHeader.cs
- WindowsGraphics2.cs
- WindowsIPAddress.cs
- EntityProviderFactory.cs
- ByteKeyFrameCollection.cs
- InputReport.cs
- AttachedPropertyMethodSelector.cs
- MimeFormatter.cs
- BaseDataListDesigner.cs
- PowerEase.cs
- WebBrowserPermission.cs
- SpellerInterop.cs
- Attributes.cs
- FeatureSupport.cs
- ActivityExecutor.cs
- MethodImplAttribute.cs
- CommandCollectionEditor.cs
- TextDecoration.cs
- LinqDataSourceView.cs
- TypeSystem.cs
- OdbcEnvironment.cs
- SubordinateTransaction.cs
- Hashtable.cs
- WebSysDescriptionAttribute.cs
- SystemIPv6InterfaceProperties.cs
- HtmlInputSubmit.cs
- LocalClientSecuritySettings.cs
- TrackingProfileCache.cs
- NavigationPropertyEmitter.cs
- WorkflowOperationContext.cs
- MessageTransmitTraceRecord.cs
- HtmlWindow.cs
- DesignerEditorPartChrome.cs