DiscoveryReference Class
The base class for discoverable references using XML Web services discovery.
Assembly: System.Web.Services (in System.Web.Services.dll)
System.Web.Services.Discovery.DiscoveryReference
System.Web.Services.Discovery.ContractReference
System.Web.Services.Discovery.DiscoveryDocumentReference
System.Web.Services.Discovery.SchemaReference
| Name | Description | |
|---|---|---|
![]() | DiscoveryReference() | Initializes a new instance of the DiscoveryReference class. |
| 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(String) | 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 the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ReadDocument(Stream) | 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(Object, Stream) | 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); } }
Available since 1.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.



