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
- FileChangesMonitor.cs
- DefaultValueAttribute.cs
- ExpandCollapsePatternIdentifiers.cs
- AuthorizationContext.cs
- DeviceContext2.cs
- ProcessHost.cs
- WindowsStatic.cs
- DataObjectAttribute.cs
- PhysicalOps.cs
- SHA512.cs
- SchemaTypeEmitter.cs
- Types.cs
- XpsException.cs
- AnimationClockResource.cs
- PrintingPermissionAttribute.cs
- ImageClickEventArgs.cs
- UInt64.cs
- ItemContainerPattern.cs
- StringPropertyBuilder.cs
- StrokeCollection2.cs
- SmtpDigestAuthenticationModule.cs
- CharUnicodeInfo.cs
- OdbcCommand.cs
- StructuredProperty.cs
- FastPropertyAccessor.cs
- FontFamily.cs
- MILUtilities.cs
- MembershipSection.cs
- BitmapScalingModeValidation.cs
- FlowDocumentPage.cs
- SqlConnectionString.cs
- ObjectViewFactory.cs
- ThreadWorkerController.cs
- GridItemPattern.cs
- GridViewColumnHeader.cs
- SkipQueryOptionExpression.cs
- Logging.cs
- DrawingCollection.cs
- CombinedGeometry.cs
- __Filters.cs
- SqlNodeTypeOperators.cs
- InvalidWMPVersionException.cs
- CalendarDataBindingHandler.cs
- HyperLinkStyle.cs
- DbConnectionPoolOptions.cs
- DataGridViewCellStyleEditor.cs
- CmsUtils.cs
- ThousandthOfEmRealPoints.cs
- InvalidEnumArgumentException.cs
- MultipleViewProviderWrapper.cs
- DataRelationPropertyDescriptor.cs
- DataPagerFieldItem.cs
- StringUtil.cs
- IdentitySection.cs
- Material.cs
- Storyboard.cs
- wmiprovider.cs
- SoapExtensionStream.cs
- ExtendedProperty.cs
- BitStack.cs
- LambdaCompiler.Address.cs
- GPStream.cs
- NativeCppClassAttribute.cs
- CellPartitioner.cs
- _DigestClient.cs
- SspiHelper.cs
- FontDriver.cs
- ProcessHostServerConfig.cs
- ExtensionDataReader.cs
- MaskDescriptor.cs
- ArithmeticException.cs
- TypeKeyValue.cs
- Confirm.cs
- PackUriHelper.cs
- ClientSession.cs
- MappingModelBuildProvider.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- MemberMaps.cs
- TextSpanModifier.cs
- TemplatedWizardStep.cs
- XsdBuilder.cs
- ReturnEventArgs.cs
- BooleanFunctions.cs
- recordstate.cs
- WebControlAdapter.cs
- ConnectionsZone.cs
- MemberAccessException.cs
- BinaryObjectReader.cs
- WorkflowRequestContext.cs
- XmlValueConverter.cs
- WebControlToolBoxItem.cs
- ProfileBuildProvider.cs
- RadioButtonAutomationPeer.cs
- JsonObjectDataContract.cs
- AuthenticationSection.cs
- Popup.cs
- KeyedHashAlgorithm.cs
- SecurityChannelListener.cs
- DoubleCollection.cs
- DbConnectionStringCommon.cs