次の方法で共有


DiscoveryClientProtocol.DiscoveryClientResultsFile クラス

WriteAll メソッドが呼び出されたときに書き込まれたすべてのファイルの結果を格納している XML ドキュメントのルート要素を表します。

この型のすべてのメンバの一覧については、DiscoveryClientProtocol.DiscoveryClientResultsFile メンバ を参照してください。

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

NotInheritable Public Class _
   DiscoveryClientProtocol.DiscoveryClientResultsFile
[C#]
public sealed class
   DiscoveryClientProtocol.DiscoveryClientResultsFile
[C++]
public __gc __sealed class
   DiscoveryClientProtocol.DiscoveryClientResultsFile
[JScript]
public class DiscoveryClientProtocol.DiscoveryClientResultsFile

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

DiscoveryClientProtocol.WriteAll メソッドを呼び出すと、解決されたすべての探索ドキュメントとこれらのすべてのファイルのマップを格納しているファイルがディレクトリに保存されます。マップ ファイルはルート要素を DiscoveryClientProtocol.DiscoveryClientResultsFile として XML で記述されます。このクラスは XmlSerializer クラスに渡され、結果がシリアル化されます。

使用例

 
Imports System
Imports System.Web.Services.Discovery
Imports System.Net
Imports System.Xml
Imports System.Xml.Serialization

Class myDiscoveryClient_Results
   
   Shared Sub Main()
      Dim outputDirectory As String = "c:\InetPub\wwwroot"
      Dim myClient As New DiscoveryClientProtocol()
      
      ' Use default credentials to access the URL being discovered.
      myClient.Credentials = CredentialCache.DefaultCredentials
      Try
          Dim myDocument As DiscoveryDocument
          ' Discover the supplied URL to determine if it is a discovery document.
          myDocument = myClient.Discover("https://localhost/MathService_vb.vsdisco")
          myClient.ResolveAll()
          Dim myCollection As DiscoveryClientResultCollection = _ 
              myClient.WriteAll(outputDirectory, "MyDiscoMap.discomap")
         ' Get the DiscoveryClientProtocol.DiscoveryClientResultsFile.
         Dim myResultFile As New DiscoveryClientProtocol.DiscoveryClientResultsFile()
         Dim mySerializer As New XmlSerializer(myResultFile.GetType())
         Dim reader = New XmlTextReader("https://localhost/MyDiscoMap.discomap")
         myResultFile = CType(mySerializer.Deserialize(reader), _ 
             DiscoveryClientProtocol.DiscoveryClientResultsFile)

         ' Get a collection of 'DiscoveryClientResult' objects.
         Dim myResultcollection As DiscoveryClientResultCollection = _
             myResultFile.Results

         Console.WriteLine("Referred file(s) : ")
         Dim myResult As DiscoveryClientResult
         For Each myResult In  myResultcollection
            Console.WriteLine(myResult.Filename)
         Next myResult
      Catch e As Exception
         Console.WriteLine(e.Message)
      End Try
   End Sub 'Main
End Class 'myDiscoveryClient_Results

[C#] 
using System;
using System.Web.Services.Discovery;
using System.Net;
using System.Xml;
using System.Xml.Serialization;

class myDiscoveryClient_Results
{
   static void Main()
   {
      string outputDirectory = "c:\\InetPub\\wwwroot";
      DiscoveryClientProtocol myClient = new 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("https://localhost/MathService_cs.vsdisco");
         myClient.ResolveAll();
         DiscoveryClientResultCollection myCollection = 
             myClient.WriteAll(outputDirectory, "MyDiscoMap.discomap");
         // Get the DiscoveryClientProtocol.DiscoveryClientResultsFile.
         DiscoveryClientProtocol.DiscoveryClientResultsFile myResultFile =
             new DiscoveryClientProtocol.DiscoveryClientResultsFile();
         XmlSerializer mySerializer = new XmlSerializer(myResultFile.GetType()); 
         XmlReader reader = new XmlTextReader("https://localhost/MyDiscoMap.discomap");
         myResultFile = (DiscoveryClientProtocol.DiscoveryClientResultsFile)
             mySerializer.Deserialize(reader);

         // Get a collection of DiscoveryClientResult objects.
         DiscoveryClientResultCollection myResultcollection = myResultFile.Results;

         Console.WriteLine("Referred file(s): ");
         foreach(DiscoveryClientResult myResult in myResultcollection)
         {
             Console.WriteLine(myResult.Filename);
         }
      }
      catch(Exception e)
      {
          Console.WriteLine(e.Message);
      }
   }
}

[C++] 
#using <mscorlib.dll>
#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 = S"c:\\InetPub\\wwwroot";
   DiscoveryClientProtocol* myClient = new 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(S"https://localhost/MathService_cs.vsdisco");
      myClient->ResolveAll();
      DiscoveryClientResultCollection* myCollection = 
         myClient->WriteAll(outputDirectory, S"MyDiscoMap.discomap");
      // Get the DiscoveryClientProtocol.DiscoveryClientResultsFile.
      DiscoveryClientProtocol::DiscoveryClientResultsFile* myResultFile =
         new DiscoveryClientProtocol::DiscoveryClientResultsFile();
      XmlSerializer* mySerializer = new XmlSerializer(myResultFile->GetType()); 
      XmlReader* reader = new XmlTextReader(S"https://localhost/MyDiscoMap.discomap");
      myResultFile = dynamic_cast<DiscoveryClientProtocol::DiscoveryClientResultsFile*>
         (mySerializer->Deserialize(reader));

      // Get a collection of DiscoveryClientResult objects.
      DiscoveryClientResultCollection* myResultcollection = myResultFile->Results;

      Console::WriteLine(S"Referred file(s): ");
      System::Collections::IEnumerator* myEnum = myResultcollection->GetEnumerator();
      while (myEnum->MoveNext())
      {
         DiscoveryClientResult* myResult = __try_cast<DiscoveryClientResult*>(myEnum->Current);
         Console::WriteLine(myResult->Filename);
      }
   }
   catch(Exception* e)
   {
      Console::WriteLine(e->Message);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Web.Services.Discovery

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web.Services (System.Web.Services.dll 内)

参照

DiscoveryClientProtocol.DiscoveryClientResultsFile メンバ | System.Web.Services.Discovery 名前空間