DiscoveryReference Class
The base class for discoverable references using XML Web services discovery.
System.Web.Services.Discovery.DiscoveryReference
System.Web.Services.Discovery.ContractReference
System.Web.Services.Discovery.DiscoveryDocumentReference
System.Web.Services.Discovery.SchemaReference
Namespace: System.Web.Services.Discovery
Assembly: System.Web.Services (in System.Web.Services.dll)
The DiscoveryReference type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | ClientProtocol | Gets or sets the instance of DiscoveryClientProtocol used in a discovery process. |
![]() | DefaultFilename | Gets the name of the default file to use when saving the referenced discovery document, XSD schema, or Service Description. |
![]() | Url | Gets or sets the URL of the referenced document. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() ![]() | FilenameFromUrl | Returns a file name based on the passed URL. |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ReadDocument | Reads the passed Stream and returns an instance of the class representing the type of referenced document. |
![]() | Resolve() | Downloads the referenced document at Url to resolve whether the referenced document is valid. |
![]() | Resolve(String, Stream) | Resolves whether the referenced document is valid. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | WriteDocument | When overridden in a derived class, writes the document to a Stream. |
ContractReference, SchemaReference, and DiscoveryDocumentReference all inherit from DiscoveryReference, and represent the three types of documents discoverable through XML Web services discovery: Service Descriptions, XML Schema Definition (XSD) schemas, and discovery documents, respectively.
using System; using System.IO; using System.Web.Services.Discovery; using System.Net; class MyDiscoveryDocumentClass { static void Main() { try { DiscoveryDocument myDiscoveryDocument; StreamReader myStreamReader = new StreamReader("c:\\Inetpub\\wwwroot\\dataservice.disco"); FileStream myStream = new FileStream("c:\\MyDiscovery.disco", FileMode.OpenOrCreate); Console.WriteLine("Demonstrating DiscoveryReference class."); // Read discovery file. myDiscoveryDocument = DiscoveryDocument.Read(myStreamReader); // Create a new instance of the DiscoveryReference class. MyDiscoveryReferenceClass myDiscoveryReference; myDiscoveryReference = new MyDiscoveryReferenceClass(); DiscoveryClientProtocol myDiscoveryClientProtocol = new DiscoveryClientProtocol(); myDiscoveryClientProtocol.Credentials = CredentialCache.DefaultCredentials; // Set the client protocol. myDiscoveryReference.ClientProtocol = myDiscoveryClientProtocol; // Read the default file name. Console.WriteLine("Default file name is: " + myDiscoveryReference.DefaultFilename); // Write the document. myDiscoveryReference.WriteDocument(myDiscoveryDocument,myStream); // Read the document. myDiscoveryReference.ReadDocument(myStream); // Set the URL. myDiscoveryReference.Url = "http://localhost/dataservice.disco"; Console.WriteLine("Url is: " + myDiscoveryReference.Url); // Resolve the URL. myDiscoveryReference.Resolve(); myStreamReader.Close(); myStream.Close(); } catch (Exception e) { Console.WriteLine("Exception caught! - {0}", e.Message); } } } // Class derived from DiscoveryReference class and overriding it members. class MyDiscoveryReferenceClass : DiscoveryReference { private string myDocumentUrl; public override string DefaultFilename { get { return "dataservice.disco"; } } public override object ReadDocument(Stream stream) { return stream; } public new void Resolve() { try { DiscoveryDocument myDiscoveryRefDocument; myDiscoveryRefDocument = base.ClientProtocol.Discover(Url); } catch (Exception e) { throw(e); } } protected override void Resolve(string contentType, Stream stream) {} public override string Url { get { return myDocumentUrl; } set { myDocumentUrl = value; } } public override void WriteDocument(object document, System.IO.Stream stream) { DiscoveryDocument myDiscoveryDocument = (DiscoveryDocument)document; myDiscoveryDocument.Write(stream); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
