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
- RemoteCryptoDecryptRequest.cs
- Documentation.cs
- CalendarTable.cs
- PropertyMap.cs
- RunInstallerAttribute.cs
- AnimationTimeline.cs
- PolyQuadraticBezierSegment.cs
- SqlMethodTransformer.cs
- HandleCollector.cs
- SemaphoreSecurity.cs
- DesignerDataView.cs
- TabControlCancelEvent.cs
- TraceHandlerErrorFormatter.cs
- HandlerFactoryWrapper.cs
- StatusBarPanel.cs
- EdgeModeValidation.cs
- LineSegment.cs
- TemplateContentLoader.cs
- XmlMemberMapping.cs
- PointHitTestParameters.cs
- SQlBooleanStorage.cs
- DetailsViewRowCollection.cs
- OdbcTransaction.cs
- SqlProfileProvider.cs
- CollectionChangedEventManager.cs
- EventItfInfo.cs
- XamlContextStack.cs
- Constraint.cs
- SqlClientWrapperSmiStreamChars.cs
- DetailsView.cs
- UndoManager.cs
- GetRecipientListRequest.cs
- PrimitiveCodeDomSerializer.cs
- NodeFunctions.cs
- StylusPlugInCollection.cs
- _HeaderInfo.cs
- cookiecontainer.cs
- TypeElement.cs
- TransactionManager.cs
- LassoHelper.cs
- ZipIOCentralDirectoryFileHeader.cs
- ClientSettingsProvider.cs
- BitmapEffectDrawing.cs
- WebEventTraceProvider.cs
- DataSourceXmlAttributeAttribute.cs
- WinCategoryAttribute.cs
- IssuedTokenClientCredential.cs
- SQLUtility.cs
- MeasureItemEvent.cs
- HttpCookieCollection.cs
- RepeatBehaviorConverter.cs
- ActiveDocumentEvent.cs
- VScrollProperties.cs
- Stacktrace.cs
- ChildrenQuery.cs
- StartUpEventArgs.cs
- IsolatedStorageException.cs
- DynamicMethod.cs
- ResourceAttributes.cs
- EntityDataSourceContextDisposingEventArgs.cs
- StorageMappingFragment.cs
- EntityKey.cs
- Version.cs
- HebrewNumber.cs
- WorkflowDebuggerSteppingAttribute.cs
- AdapterUtil.cs
- InternalEnumValidatorAttribute.cs
- DifferencingCollection.cs
- ActivityScheduledRecord.cs
- ConfigurationManager.cs
- TypeInitializationException.cs
- Axis.cs
- ProtectedConfiguration.cs
- PropertyDescriptor.cs
- CodeStatementCollection.cs
- InfiniteTimeSpanConverter.cs
- DeferredTextReference.cs
- DataControlFieldCell.cs
- InlineUIContainer.cs
- DataTemplateSelector.cs
- FontUnit.cs
- DataGridViewRowCollection.cs
- StrokeNode.cs
- SystemSounds.cs
- X509CertificateCollection.cs
- TemplateFactory.cs
- Set.cs
- SeparatorAutomationPeer.cs
- ReadWriteObjectLock.cs
- ToolStripRenderEventArgs.cs
- PointLightBase.cs
- SafeViewOfFileHandle.cs
- TextElementCollectionHelper.cs
- ExtensionsSection.cs
- Soap.cs
- PowerStatus.cs
- XmlDataLoader.cs
- x509store.cs
- URLIdentityPermission.cs
- TextTreeUndoUnit.cs