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
- ViewBox.cs
- DBParameter.cs
- TextAdaptor.cs
- ClientTarget.cs
- RealizationDrawingContextWalker.cs
- DocobjHost.cs
- ResourceDictionary.cs
- FrameworkEventSource.cs
- SystemPens.cs
- ChannelServices.cs
- ListView.cs
- SafeEventLogWriteHandle.cs
- DataBindEngine.cs
- WebScriptMetadataMessage.cs
- ScriptBehaviorDescriptor.cs
- DataGridTextBoxColumn.cs
- OrderedDictionaryStateHelper.cs
- WorkflowService.cs
- RowSpanVector.cs
- CleanUpVirtualizedItemEventArgs.cs
- Currency.cs
- LinkLabelLinkClickedEvent.cs
- UInt16Converter.cs
- EntityDataSourceChangingEventArgs.cs
- PageBuildProvider.cs
- CookielessHelper.cs
- DataTemplateKey.cs
- Stopwatch.cs
- DictionaryBase.cs
- ScriptResourceHandler.cs
- DataGridTableCollection.cs
- DataIdProcessor.cs
- BufferedWebEventProvider.cs
- Bidi.cs
- ResourceWriter.cs
- HandlerMappingMemo.cs
- ToolStripItem.cs
- EventMappingSettingsCollection.cs
- MenuItemAutomationPeer.cs
- UInt64Converter.cs
- HttpListenerContext.cs
- SqlParameterCollection.cs
- InteropBitmapSource.cs
- GlobalId.cs
- DataGridItemCollection.cs
- PathGeometry.cs
- ToolStripPanelCell.cs
- Misc.cs
- WindowsNonControl.cs
- RolePrincipal.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- SafeFileMappingHandle.cs
- StatusBarPanel.cs
- ExceptionCollection.cs
- HashMembershipCondition.cs
- StringReader.cs
- CompositeScriptReferenceEventArgs.cs
- DataPagerFieldCommandEventArgs.cs
- EditingScopeUndoUnit.cs
- TcpTransportSecurity.cs
- RegularExpressionValidator.cs
- CompModSwitches.cs
- DemultiplexingDispatchMessageFormatter.cs
- ErrorEventArgs.cs
- ResXResourceSet.cs
- Knowncolors.cs
- RuleSetCollection.cs
- ZipQueryOperator.cs
- SecurityRuntime.cs
- CompilerGlobalScopeAttribute.cs
- SqlComparer.cs
- EdmProviderManifest.cs
- ConnectionPointCookie.cs
- CatalogZoneBase.cs
- Win32Exception.cs
- ButtonBaseAdapter.cs
- CompressStream.cs
- SizeF.cs
- PrintController.cs
- XsltException.cs
- XPathPatternBuilder.cs
- ColorAnimationBase.cs
- PropertyValue.cs
- Calendar.cs
- AvTraceFormat.cs
- Vector3D.cs
- ValueTypeFixupInfo.cs
- ExtendedPropertyDescriptor.cs
- DBDataPermissionAttribute.cs
- printdlgexmarshaler.cs
- ToolStripOverflow.cs
- TextStore.cs
- CodeVariableDeclarationStatement.cs
- SqlCaseSimplifier.cs
- DictionaryBase.cs
- HttpFileCollection.cs
- Range.cs
- StickyNoteAnnotations.cs
- Switch.cs
- XPathNavigator.cs