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 名前空間