DiscoveryClientProtocol::DiscoveryClientResultsFile Class

 

Represents the root element of an XML document containing the results of all files written when the WriteAll method is invoked.

Namespace:   System.Web.Services.Discovery
Assembly:  System.Web.Services (in System.Web.Services.dll)

System::Object
  System.Web.Services.Discovery::DiscoveryClientProtocol::DiscoveryClientResultsFile

public ref class DiscoveryClientResultsFile sealed 

NameDescription
System_CAPS_pubmethodDiscoveryClientProtocol::DiscoveryClientResultsFile()

Initializes a new instance of the DiscoveryClientProtocol::DiscoveryClientResultsFile class.

NameDescription
System_CAPS_pubpropertyResults

Gets a collection of DiscoveryClientResult objects.

NameDescription
System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

When you invoke the DiscoveryClientProtocol::WriteAll method, all resolved discovery documents and a file containing a map of all those files are saved to a directory. The map file is described in XML with the root element being DiscoveryClientProtocol::DiscoveryClientResultsFile; this class is passed to the XmlSerializer class to serialize the results.

#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>

using namespace System;
using namespace System::Web::Services::Discovery;
using namespace System::Net;
using namespace System::Xml;
using namespace System::Xml::Serialization;

int main()
{
   String^ outputDirectory = "c:\\InetPub\\wwwroot";
   DiscoveryClientProtocol^ myClient = gcnew DiscoveryClientProtocol;

   //  Use default credentials to access the URL being discovered.
   myClient->Credentials = CredentialCache::DefaultCredentials;
   try
   {
      DiscoveryDocument^ myDocument;

      // Discover the supplied URL to determine if it is a discovery document.
      myDocument = myClient->Discover( "http://localhost/MathService_cs.vsdisco" );
      myClient->ResolveAll();
      DiscoveryClientResultCollection^ myCollection = myClient->WriteAll( outputDirectory, "MyDiscoMap.discomap" );

      // Get the DiscoveryClientProtocol.DiscoveryClientResultsFile.
      DiscoveryClientProtocol::DiscoveryClientResultsFile ^ myResultFile = gcnew DiscoveryClientProtocol::DiscoveryClientResultsFile;
      XmlSerializer^ mySerializer = gcnew XmlSerializer( myResultFile->GetType() );
      XmlReader^ reader = gcnew XmlTextReader( "http://localhost/MyDiscoMap.discomap" );
      myResultFile = dynamic_cast<DiscoveryClientProtocol::DiscoveryClientResultsFile^>(mySerializer->Deserialize( reader ));

      // Get a collection of DiscoveryClientResult objects.
      DiscoveryClientResultCollection^ myResultcollection = myResultFile->Results;
      Console::WriteLine( "Referred file(s): " );
      System::Collections::IEnumerator^ myEnum = myResultcollection->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         DiscoveryClientResult^ myResult = safe_cast<DiscoveryClientResult^>(myEnum->Current);
         Console::WriteLine( myResult->Filename );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( e->Message );
   }
}

.NET Framework
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.

Return to top
Show: