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.Xml.dll> #using <System.Web.Services.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Web::Services::Discovery; using namespace System::Net; // Class derived from DiscoveryReference class and overriding it members. ref class MyDiscoveryReferenceClass: public DiscoveryReference { private: String^ myDocumentUrl; public: property String^ DefaultFilename { virtual String^ get() override { return "dataservice.disco"; } } virtual Object^ ReadDocument( Stream^ stream ) override { return stream; } void Resolve() { try { DiscoveryDocument^ myDiscoveryRefDocument; myDiscoveryRefDocument = DiscoveryReference::ClientProtocol->Discover( Url ); } catch ( Exception^ e ) { throw e; } } protected: virtual void Resolve( String^ /*contentType*/, Stream^ /*stream*/ ) override {} public: property String^ Url { virtual String^ get() override { return myDocumentUrl; } virtual void set( String^ value ) override { myDocumentUrl = value; } } virtual void WriteDocument( Object^ document, System::IO::Stream^ stream ) override { DiscoveryDocument^ myDiscoveryDocument = dynamic_cast<DiscoveryDocument^>(document); myDiscoveryDocument->Write( stream ); } }; int main() { try { DiscoveryDocument^ myDiscoveryDocument; StreamReader^ myStreamReader = gcnew StreamReader( "c:\\Inetpub\\wwwroot\\dataservice.disco" ); FileStream^ myStream = gcnew 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 = gcnew MyDiscoveryReferenceClass; DiscoveryClientProtocol^ myDiscoveryClientProtocol = gcnew DiscoveryClientProtocol; myDiscoveryClientProtocol->Credentials = CredentialCache::DefaultCredentials; // Set the client protocol. myDiscoveryReference->ClientProtocol = myDiscoveryClientProtocol; // Read the default file name. Console::WriteLine( "Default file name is: {0}", 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: {0}", myDiscoveryReference->Url ); // Resolve the URL. myDiscoveryReference->Resolve(); myStreamReader->Close(); myStream->Close(); } catch ( Exception^ e ) { Console::WriteLine( "Exception caught! - {0}", e->Message ); } }
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.
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)
.jpeg?cs-save-lang=1&cs-lang=cpp)