DiscoveryClientProtocol.Documents プロパティ
アセンブリ: System.Web.Services (system.web.services.dll 内)

Dim instance As DiscoveryClientProtocol Dim value As DiscoveryClientDocumentCollection value = instance.Documents
public: property DiscoveryClientDocumentCollection^ Documents { DiscoveryClientDocumentCollection^ get (); }
見つかった探索ドキュメントのコレクションを表す DiscoveryClientDocumentCollection。

Documents コレクションは、Discover、DiscoverAny、ResolveAllResolveOneLevel の各メソッドの呼び出し時に作成されます。Discover メソッドおよび DiscoverAny メソッドを呼び出すと、指定された URL が有効な探索ドキュメントであった場合は、このドキュメントが Documents コレクションに追加されます。ResolveAll メソッドおよび ResolveOneLevel メソッドを呼び出すと、References コレクション内の有効な探索ドキュメント参照が Documents コレクションに追加されます。

XML Web サービス探索時に探索された Documents プロパティ内のドキュメントに関する詳細を DataGrid に読み込む Web フォームのコード例を次に示します。PopulateGrid メソッドは、DiscoverAny 呼び出しおよびそれに続く ResolveAll 呼び出しの結果を DataGrid に設定します。
<%@ Page Language="VB" Debug="true" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Web.Services.Discovery" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Data" %> <HTML> <HEAD> <SCRIPT RUNAT="SERVER"> Public Sub Discover_Click(Source As Object, e as EventArgs ) ' Specify the URL to discover. Dim sourceUrl as String = DiscoURL.Text ' Specify the URL to save discovery results to or read from. Dim outputDirectory As String = DiscoDir.Text Dim client as DiscoveryClientProtocol = new DiscoveryClientProtocol() ' Use default credentials to access the URL being discovered. client.Credentials = CredentialCache.DefaultCredentials Try Dim doc As DiscoveryDocument ' Discover the URL for any discoverable documents. doc = client.DiscoverAny(sourceUrl) ' Resolve all possible references from the supplied URL. client.ResolveAll() Catch e2 As Exception DiscoveryResultsGrid.Columns.Clear() Status.Text = e2.Message End Try ' If documents were discovered, display the results in a data grid. If (client.Documents.Count > 0) Then 'populate our Grid with the discovery results PopulateGrid(client) End If ' Save the discovery results to disk. Dim results As DiscoveryClientResultCollection results = client.WriteAll(outputDirectory, "results.discomap") Status.Text = "The following file holds the links to each of the discovery results: <b>" + _ Path.Combine(outputDirectory,"results.discomap") + "</b>" End Sub Public Sub PopulateGrid(client As DiscoveryClientProtocol) Dim dt As DataTable = new DataTable() Dim dr AS DataRow dt.Columns.Add(new DataColumn("Discovery Document") ) dt.Columns.Add(new DataColumn("References") ) dt.Columns.Add(new DataColumn("Type") ) Dim entry As DictionaryEntry 'Iterate over the discovered documents, displaying their types and any associated references. For Each entry in client.Documents dr = dt.NewRow() dr(0) = entry.Key dr(2) = entry.Value.GetType() dt.Rows.Add(dr) ' If the discovered document is a discovery document, iterate over its references. If TypeOf entry.Value Is DiscoveryDocument Then Dim discoDoc As DiscoveryDocument = entry.Value Dim discoref As DiscoveryReference For Each discoref in discoDoc.References dr = dt.NewRow() dr(1) = discoref.Url dr(2) = discoref.GetType() dt.Rows.Add(dr) Next End If Next Dim dv As DataView = new DataView(dt) DiscoveryResultsGrid.DataSource = dv DiscoveryResultsGrid.DataBind() End Sub </SCRIPT> </HEAD> <BODY> <H3> <p align="center"> Discovery Class Sample </p> </H3> <FORM RUNAT="SERVER"> <hr> Enter the URL to discover: <asp:textbox id=DiscoURL Columns=60 runat="SERVER" /><p> Enter the directory to Read/Save the Discovery results: <asp:textbox id=DiscoDir runat="SERVER" /> <p> <p align="center"> <asp:Button id=Discover Text="Discover!" onClick="Discover_Click" runat="SERVER"/> </p><p> <hr> <asp:label id="Status" runat="SERVER" /><p> <asp:DataGrid id="DiscoveryResultsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="true" runat="server"> <HeaderStyle BackColor="DarkBlue" ForeColor="White"> </HeaderStyle> <AlternatingItemStyle BackColor="LightYellow"> </AlternatingItemStyle> </asp:DataGrid> </FORM> </BODY>
<%@ Page Language="C#" Debug="true" %> <%@ Import Namespace="System.Web.Services.Discovery" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Data" %> <HTML> <HEAD> <SCRIPT RUNAT="SERVER"> protected void Discover_Click(object Source, EventArgs e) { // Specify the URL to discover. string sourceUrl = DiscoURL.Text; // Specify the URL to save discovery results to or read from. string outputDirectory = DiscoDir.Text; DiscoveryClientProtocol client = new DiscoveryClientProtocol(); // Use default credentials to access the URL being discovered. client.Credentials = CredentialCache.DefaultCredentials; try { DiscoveryDocument doc; // Discover the URL for any discoverable documents. doc = client.DiscoverAny(sourceUrl); // Resolve all possible references from the supplied URL. client.ResolveAll(); } catch ( Exception e2) { DiscoveryResultsGrid.Columns.Clear(); Status.Text = e2.Message; } // If documents were discovered, display the results in a data grid. if (client.Documents.Count > 0) PopulateGrid(client); // Save the discovery results to disk. DiscoveryClientResultCollection results = client.WriteAll(outputDirectory, "results.discomap"); Status.Text = "The following file holds the links to each of the discovery results: <b>" + Path.Combine(outputDirectory,"results.discomap") + "</b>"; } protected void PopulateGrid(DiscoveryClientProtocol client) { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("Discovery Document") ); dt.Columns.Add(new DataColumn("References") ); dt.Columns.Add(new DataColumn("Type") ); // Iterate over the discovered documents, displaying their types and any associated references. foreach (DictionaryEntry entry in client.Documents) { dr = dt.NewRow(); dr[0] = (string) entry.Key; dr[2] = entry.Value.GetType(); dt.Rows.Add(dr); // If the discovered document is a discovery document, iterate over its references. if (entry.Value is DiscoveryDocument) { DiscoveryDocument discoDoc = (DiscoveryDocument) entry.Value; foreach (DiscoveryReference discoref in discoDoc.References) { dr = dt.NewRow(); dr[1] = discoref.Url; dr[2] = discoref.GetType(); dt.Rows.Add(dr); } } } DataView dv = new DataView(dt); DiscoveryResultsGrid.DataSource = (ICollection) dv; DiscoveryResultsGrid.DataBind(); } </SCRIPT> </HEAD> <BODY> <H3> <p align="center"> Discovery Class Sample </p> </H3> <FORM RUNAT="SERVER"> <hr> Enter the URL to discover: <asp:textbox id=DiscoURL Columns=60 runat="SERVER" /><p> Enter the directory to Read/Save the Discovery results: <asp:textbox id=DiscoDir runat="SERVER" /> <p> <p align="center"> <asp:Button id=Discover Text="Discover!" onClick="Discover_Click" runat="SERVER"/> </p><p> <hr> <asp:label id="Status" runat="SERVER" /><p> <asp:DataGrid id="DiscoveryResultsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="true" runat="server"> <HeaderStyle BackColor="DarkBlue" ForeColor="White"> </HeaderStyle> <AlternatingItemStyle BackColor="LightYellow"> </AlternatingItemStyle> </asp:DataGrid> </FORM> </BODY>

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDiscoveryClientProtocol.Documents プロパティを検索する場合は、下記のリンクをクリックしてください。

- DiscoveryClientProtocol.Documents プロパティのページへのリンク