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
- FileAuthorizationModule.cs
- OutputCacheSection.cs
- TextChange.cs
- OracleDateTime.cs
- LinqDataSourceContextEventArgs.cs
- MSG.cs
- FixedHighlight.cs
- EmptyStringExpandableObjectConverter.cs
- WinEventWrap.cs
- Main.cs
- HuffModule.cs
- ScriptControl.cs
- ComNativeDescriptor.cs
- MessageProtectionOrder.cs
- GregorianCalendar.cs
- ValidatingPropertiesEventArgs.cs
- WebServiceHandler.cs
- FormViewInsertEventArgs.cs
- DynamicUpdateCommand.cs
- Int16Storage.cs
- WmlSelectionListAdapter.cs
- designeractionlistschangedeventargs.cs
- MembershipSection.cs
- QueryableFilterRepeater.cs
- DataBoundControlHelper.cs
- UserPreference.cs
- IxmlLineInfo.cs
- SeekStoryboard.cs
- _LocalDataStore.cs
- RoutedUICommand.cs
- TextBlockAutomationPeer.cs
- Vector3DCollectionConverter.cs
- GenerateScriptTypeAttribute.cs
- PrtCap_Public_Simple.cs
- TypeDescriptionProviderAttribute.cs
- NullableConverter.cs
- BoundField.cs
- TypedElement.cs
- PrefixQName.cs
- CommonDialog.cs
- MessageQuerySet.cs
- CodeVariableReferenceExpression.cs
- ConversionHelper.cs
- LayoutSettings.cs
- WebReferencesBuildProvider.cs
- SizeAnimationUsingKeyFrames.cs
- MouseCaptureWithinProperty.cs
- InputElement.cs
- InProcStateClientManager.cs
- EditorAttributeInfo.cs
- ViewStateModeByIdAttribute.cs
- DtrList.cs
- PngBitmapEncoder.cs
- CryptoHelper.cs
- Item.cs
- SelectionUIService.cs
- DiffuseMaterial.cs
- FontWeight.cs
- ProcessThread.cs
- ComplexTypeEmitter.cs
- DataGrid.cs
- PageSetupDialog.cs
- ConfigurationStrings.cs
- ValueTypePropertyReference.cs
- AssemblyGen.cs
- XslTransformFileEditor.cs
- AdRotator.cs
- NamespaceList.cs
- EmptyImpersonationContext.cs
- TagPrefixCollection.cs
- RoutedPropertyChangedEventArgs.cs
- DataGridBoolColumn.cs
- DataColumnCollection.cs
- DataGridViewIntLinkedList.cs
- AttributeCollection.cs
- OracleDataReader.cs
- EntityKey.cs
- ZoneMembershipCondition.cs
- WaitHandleCannotBeOpenedException.cs
- GridViewSelectEventArgs.cs
- SourceFileBuildProvider.cs
- SelectionService.cs
- As.cs
- EmissiveMaterial.cs
- DocumentGrid.cs
- CryptoHelper.cs
- ArrangedElement.cs
- DataReceivedEventArgs.cs
- DrawListViewSubItemEventArgs.cs
- AnimationLayer.cs
- EntryIndex.cs
- BrowserCapabilitiesFactoryBase.cs
- ClientBuildManagerCallback.cs
- ThreadStateException.cs
- CheckableControlBaseAdapter.cs
- ToolTipAutomationPeer.cs
- SqlDataSource.cs
- SessionEndingEventArgs.cs
- PowerEase.cs
- MsmqIntegrationReceiveParameters.cs