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
- RenderTargetBitmap.cs
- RelationshipDetailsRow.cs
- PageTextBox.cs
- HebrewNumber.cs
- MenuAdapter.cs
- CriticalFinalizerObject.cs
- PageCodeDomTreeGenerator.cs
- AdornerPresentationContext.cs
- DataServiceRequestOfT.cs
- MimeMapping.cs
- EncodingConverter.cs
- AncillaryOps.cs
- DataGridViewRowConverter.cs
- GroupBoxRenderer.cs
- MenuItemStyle.cs
- RemoteHelper.cs
- WebPartConnectionsDisconnectVerb.cs
- SmiGettersStream.cs
- ToolBarTray.cs
- XsdDuration.cs
- HwndHost.cs
- ParserExtension.cs
- TextView.cs
- TargetControlTypeAttribute.cs
- SpanIndex.cs
- SelfIssuedAuthAsymmetricKey.cs
- QueryConverter.cs
- MethodImplAttribute.cs
- Quad.cs
- _ProxyChain.cs
- Scanner.cs
- sqlcontext.cs
- MLangCodePageEncoding.cs
- MatrixAnimationBase.cs
- HitTestFilterBehavior.cs
- SecurityContextSecurityTokenAuthenticator.cs
- RootBrowserWindowAutomationPeer.cs
- Vector3D.cs
- LineBreak.cs
- UrlMapping.cs
- WsdlBuildProvider.cs
- SqlInternalConnectionTds.cs
- MimeMapping.cs
- Rect3DValueSerializer.cs
- CategoryAttribute.cs
- SmiTypedGetterSetter.cs
- RectangleGeometry.cs
- Region.cs
- SqlTrackingService.cs
- FormViewPageEventArgs.cs
- WebChannelFactory.cs
- FileDialogPermission.cs
- Itemizer.cs
- SqlUserDefinedAggregateAttribute.cs
- SpotLight.cs
- SkinBuilder.cs
- DateTimeStorage.cs
- NonBatchDirectoryCompiler.cs
- CompositionTarget.cs
- CapabilitiesState.cs
- PackageStore.cs
- GrammarBuilderDictation.cs
- TraceHandlerErrorFormatter.cs
- StoreItemCollection.Loader.cs
- RijndaelManagedTransform.cs
- ReadContentAsBinaryHelper.cs
- base64Transforms.cs
- DataGridRow.cs
- StartUpEventArgs.cs
- ConfigurationSettings.cs
- Size3DValueSerializer.cs
- ScriptReferenceEventArgs.cs
- ColumnMapVisitor.cs
- RoleManagerSection.cs
- CharacterBufferReference.cs
- CustomExpression.cs
- ProviderException.cs
- ResourceIDHelper.cs
- VirtualizingPanel.cs
- InternalResources.cs
- HandoffBehavior.cs
- AttributeData.cs
- WebPartTransformerAttribute.cs
- XD.cs
- smtppermission.cs
- SizeAnimationClockResource.cs
- HwndSubclass.cs
- UserControlBuildProvider.cs
- JoinTreeNode.cs
- SqlRemoveConstantOrderBy.cs
- EventHandlerList.cs
- Guid.cs
- ErrorProvider.cs
- CompositeActivityTypeDescriptorProvider.cs
- AddValidationError.cs
- DynamicPropertyHolder.cs
- KeyValueConfigurationElement.cs
- EventItfInfo.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- _IPv4Address.cs