Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Web / System / Web / Services / Discovery / DiscoveryDocument.cs / 1305376 / DiscoveryDocument.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Services.Discovery { using System.Xml.Serialization; using System.Xml; using System.IO; using System; using System.Text; using System.Collections; using System.Web.Services.Configuration; ////// /// [XmlRoot("discovery", Namespace=DiscoveryDocument.Namespace)] public sealed class DiscoveryDocument { ///[To be supplied.] ////// /// public const string Namespace = "http://schemas.xmlsoap.org/disco/"; private ArrayList references = new ArrayList(); ///[To be supplied.] ////// /// public DiscoveryDocument() { } // NOTE, [....]: This property is not really ignored by the xml serializer. Instead, // the attributes that would go here are configured in WebServicesConfiguration's // DiscoveryDocumentSerializer property. ///[To be supplied.] ////// /// [XmlIgnore] public IList References { get { return references; } } ///[To be supplied.] ////// /// public static DiscoveryDocument Read(Stream stream) { XmlTextReader r = new XmlTextReader(stream); r.WhitespaceHandling = WhitespaceHandling.Significant; r.XmlResolver = null; r.DtdProcessing = DtdProcessing.Prohibit; return Read(r); } ///[To be supplied.] ////// /// public static DiscoveryDocument Read(TextReader reader) { XmlTextReader r = new XmlTextReader(reader); r.WhitespaceHandling = WhitespaceHandling.Significant; r.XmlResolver = null; r.DtdProcessing = DtdProcessing.Prohibit; return Read(r); } ///[To be supplied.] ////// /// public static DiscoveryDocument Read(XmlReader xmlReader) { return (DiscoveryDocument) WebServicesSection.Current.DiscoveryDocumentSerializer.Deserialize(xmlReader); } ///[To be supplied.] ////// /// public static bool CanRead(XmlReader xmlReader) { return WebServicesSection.Current.DiscoveryDocumentSerializer.CanDeserialize(xmlReader); } ///[To be supplied.] ////// /// public void Write(TextWriter writer) { XmlTextWriter xmlWriter = new XmlTextWriter(writer); xmlWriter.Formatting = Formatting.Indented; xmlWriter.Indentation = 2; Write(xmlWriter); } ///[To be supplied.] ////// /// public void Write(Stream stream) { TextWriter writer = new StreamWriter(stream, new UTF8Encoding(false)); Write(writer); } ///[To be supplied.] ////// /// public void Write(XmlWriter writer) { XmlSerializer serializer = WebServicesSection.Current.DiscoveryDocumentSerializer; XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); serializer.Serialize(writer, this, ns); } } // This is a special serializer that hardwires to the generated // ServiceDescriptionSerializer. To regenerate the serializer // Turn on KEEPTEMPFILES // Restart server // Run disco as follows // disco[To be supplied.] ///?disco // Goto windows temp dir (usually \winnt\temp) // and get the latest generated .cs file // Change namespace to 'System.Web.Services.Discovery' // Change class names to DiscoveryDocumentSerializationWriter // and DiscoveryDocumentSerializationReader // Make the classes internal // Ensure the public Write method is Write10_discovery (If not // change Serialize to call the new one) // Ensure the public Read method is Read11_discovery (If not // change Deserialize to call the new one) internal class DiscoveryDocumentSerializer : XmlSerializer { protected override XmlSerializationReader CreateReader() { return new DiscoveryDocumentSerializationReader(); } protected override XmlSerializationWriter CreateWriter() { return new DiscoveryDocumentSerializationWriter(); } public override bool CanDeserialize(System.Xml.XmlReader xmlReader){ return xmlReader.IsStartElement("discovery", "http://schemas.xmlsoap.org/disco/"); } protected override void Serialize(Object objectToSerialize, XmlSerializationWriter writer){ ((DiscoveryDocumentSerializationWriter)writer).Write10_discovery(objectToSerialize); } protected override object Deserialize(XmlSerializationReader reader){ return ((DiscoveryDocumentSerializationReader)reader).Read10_discovery(); } } } // 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
- XmlDomTextWriter.cs
- KeyInstance.cs
- ClientSettingsStore.cs
- MeasurementDCInfo.cs
- SequentialUshortCollection.cs
- WebPartVerbCollection.cs
- OdbcCommand.cs
- SqlSupersetValidator.cs
- WeakRefEnumerator.cs
- TemplateBuilder.cs
- PageWrapper.cs
- XmlWhitespace.cs
- OdbcException.cs
- EventDescriptorCollection.cs
- XmlAttributeProperties.cs
- WebScriptMetadataFormatter.cs
- WindowsSidIdentity.cs
- SqlCacheDependencySection.cs
- LicFileLicenseProvider.cs
- AutomationEvent.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ClientCultureInfo.cs
- SendDesigner.xaml.cs
- _OSSOCK.cs
- ListViewInsertionMark.cs
- GeometryGroup.cs
- TileBrush.cs
- TabItemWrapperAutomationPeer.cs
- EncodingInfo.cs
- PropertyGroupDescription.cs
- FilterElement.cs
- SafeNativeMethods.cs
- FigureHelper.cs
- WebCategoryAttribute.cs
- RegexStringValidatorAttribute.cs
- SynchronizationHandlesCodeDomSerializer.cs
- PathSegment.cs
- DataObjectMethodAttribute.cs
- BitConverter.cs
- RunWorkerCompletedEventArgs.cs
- RuntimeConfig.cs
- WindowInteractionStateTracker.cs
- AddDataControlFieldDialog.cs
- WpfKnownType.cs
- NativeActivityAbortContext.cs
- RoleManagerSection.cs
- BitHelper.cs
- ObjectQuery_EntitySqlExtensions.cs
- ExpressionBinding.cs
- XmlEntityReference.cs
- ArrayWithOffset.cs
- ForEachAction.cs
- BindingCollectionElement.cs
- ThrowOnMultipleAssignment.cs
- GenericEnumerator.cs
- ScrollEventArgs.cs
- TextParaClient.cs
- FontStyleConverter.cs
- XmlSchemaSimpleContentRestriction.cs
- VisualBasic.cs
- ResourcesChangeInfo.cs
- WrappingXamlSchemaContext.cs
- SQLStringStorage.cs
- M3DUtil.cs
- SystemIcmpV4Statistics.cs
- LocatorBase.cs
- TextBox.cs
- ButtonColumn.cs
- Substitution.cs
- HttpValueCollection.cs
- CatalogPart.cs
- AppDomainGrammarProxy.cs
- DictionaryEntry.cs
- WebBrowserUriTypeConverter.cs
- AnnotationAuthorChangedEventArgs.cs
- XmlQueryTypeFactory.cs
- UserControlCodeDomTreeGenerator.cs
- CatalogZone.cs
- ContractMapping.cs
- ConnectionPoolManager.cs
- FixedPosition.cs
- TablePattern.cs
- bidPrivateBase.cs
- _OverlappedAsyncResult.cs
- BaseComponentEditor.cs
- WebColorConverter.cs
- TcpTransportBindingElement.cs
- ListViewTableCell.cs
- XamlToRtfParser.cs
- NameObjectCollectionBase.cs
- MemberAccessException.cs
- XmlNamespaceManager.cs
- SqlUtil.cs
- RoutedEvent.cs
- CompositeKey.cs
- OdbcEnvironment.cs
- TextTreeInsertElementUndoUnit.cs
- XPathMultyIterator.cs
- OperationAbortedException.cs
- DataGridViewCell.cs