Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Serializers / JsonServiceDocumentSerializer.cs / 1305376 / 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 DataServiceProviderWrapper 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, DataServiceProviderWrapper provider, Encoding encoding) { Debug.Assert(output != null, "output != null"); Debug.Assert(provider != null, "provider != null"); this.writer = new JsonWriter(new StreamWriter(output, encoding)); 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.StartObjectScope(); // { this.writer.WriteDataWrapper(); // "d" : this.writer.StartObjectScope(); this.writer.WriteName(JsonEntitySetsElementName); this.writer.StartArrayScope(); foreach (ResourceSetWrapper container in this.provider.ResourceSets) { this.writer.WriteValue(container.Name); } this.writer.EndScope(); // end the array scope this.writer.EndScope(); // end the object scope this.writer.EndScope(); // end "d" scope } 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
- PropertyChangedEventManager.cs
- SettingsBindableAttribute.cs
- PathSegment.cs
- RewritingValidator.cs
- ToolStripPanelRenderEventArgs.cs
- CellLabel.cs
- DataGridItem.cs
- CryptoProvider.cs
- StringBlob.cs
- OleDbParameter.cs
- SettingsSavedEventArgs.cs
- LicenseContext.cs
- XmlAnyElementAttributes.cs
- ProcessHost.cs
- CultureData.cs
- DtdParser.cs
- EntitySetBaseCollection.cs
- NumericExpr.cs
- XmlArrayItemAttribute.cs
- EmbeddedMailObject.cs
- AudioStateChangedEventArgs.cs
- ErrorHandler.cs
- AdRotator.cs
- LinkTarget.cs
- _Events.cs
- ParseElement.cs
- HwndKeyboardInputProvider.cs
- ControlCollection.cs
- FileDialogCustomPlacesCollection.cs
- XamlParser.cs
- TraceUtility.cs
- FontFamilyConverter.cs
- BufferedWebEventProvider.cs
- XmlBaseWriter.cs
- WebPartMenuStyle.cs
- FixedStringLookup.cs
- SHA1CryptoServiceProvider.cs
- ZipPackagePart.cs
- FontUnit.cs
- OleDbSchemaGuid.cs
- ArrayElementGridEntry.cs
- HtmlValidationSummaryAdapter.cs
- ClientApiGenerator.cs
- CodeAccessSecurityEngine.cs
- GregorianCalendarHelper.cs
- HandlerBase.cs
- Deflater.cs
- Accessible.cs
- HandlerBase.cs
- WebResourceUtil.cs
- PersonalizationEntry.cs
- DesignerLoader.cs
- PrePrepareMethodAttribute.cs
- PhonemeConverter.cs
- ResourceReferenceExpression.cs
- IntSecurity.cs
- nulltextnavigator.cs
- WebSysDescriptionAttribute.cs
- TableRowCollection.cs
- TextTreeUndo.cs
- HttpDebugHandler.cs
- Int32RectConverter.cs
- CompilerInfo.cs
- EncoderParameter.cs
- TrustLevelCollection.cs
- CacheChildrenQuery.cs
- IndentedWriter.cs
- DataGridViewButtonCell.cs
- CqlWriter.cs
- PropertyGrid.cs
- BreadCrumbTextConverter.cs
- FontConverter.cs
- EventMap.cs
- SizeAnimationUsingKeyFrames.cs
- MetadataImporterQuotas.cs
- PackageDigitalSignatureManager.cs
- SoapEnumAttribute.cs
- XmlBoundElement.cs
- ExpressionBuilderCollection.cs
- TextCollapsingProperties.cs
- WebResourceAttribute.cs
- HtmlSelect.cs
- SqlFunctionAttribute.cs
- ValidationHelpers.cs
- Vector3DValueSerializer.cs
- IItemProperties.cs
- StorageEntityContainerMapping.cs
- FileIOPermission.cs
- HttpCachePolicy.cs
- PrincipalPermission.cs
- LicenseException.cs
- BitmapEffectGroup.cs
- SystemColors.cs
- FreezableDefaultValueFactory.cs
- CultureMapper.cs
- InvalidCastException.cs
- HotSpotCollection.cs
- SafeEventLogWriteHandle.cs
- ConfigurationLockCollection.cs
- SourceFilter.cs