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

Public ReadOnly Property References As DiscoveryClientReferenceCollection
Dim instance As DiscoveryClientProtocol Dim value As DiscoveryClientReferenceCollection value = instance.References
public DiscoveryClientReferenceCollection References { get; }
public: property DiscoveryClientReferenceCollection^ References { DiscoveryClientReferenceCollection^ get (); }
探索された参照の DiscoveryClientReferenceCollection。

References コレクションは、Discover、DiscoverAny、ResolveAllResolveOneLevel の各メソッドの呼び出し時に作成されます。Discover メソッドおよび DiscoverAny メソッドを呼び出すと、指定した URL が有効な探索ドキュメントであった場合は、このドキュメントが、探索ドキュメント内で見つかった参照と共に References コレクションに追加されます。Discover メソッドおよび DiscoverAny メソッドの呼び出し時に追加される参照は、必ずしも有効な探索ドキュメントではありません。ResolveAll および ResolveOneLevel の呼び出し時に、References コレクション内の参照が有効な探索ドキュメントかどうかが検証されます。その参照が有効であり、さらに参照を含んでいる場合は、これらの参照も References コレクションに追加されます。

XML Web サービス探索時に探索された References プロパティ内の参照に関する詳細を DataGrid に読み込む Web フォームのコード例を次に示します。PopulateGrid メソッドは、DiscoverAny の呼び出し時に見つかった参照を 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 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) Catch e2 As Exception DiscoveryResultsGrid.Columns.Clear() Status.Text = e2.Message End Try ' If the discovered document contained references, display them in a data grid. If (client.References.Count > 0) Then 'populate our Grid with the discovery results PopulateGrid(client) End If End Sub Public Sub PopulateGrid(client As DiscoveryClientProtocol) Dim dt As DataTable = new DataTable() Dim dr AS DataRow dt.Columns.Add(new DataColumn("Reference") ) dt.Columns.Add(new DataColumn("Type") ) Dim entry As DictionaryEntry ' Iterate over the references in the discovered document, displaying their type. For Each entry in client.References dr = dt.NewRow() dr(0) = entry.Key dr(1) = entry.Value.GetType() dt.Rows.Add(dr) 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> <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; 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); } catch ( Exception e2) { DiscoveryResultsGrid.Columns.Clear(); Status.Text = e2.Message; } // If the discovered document contained, references display them in a data grid. if (client.References.Count > 0) PopulateGrid(client); } protected void PopulateGrid(DiscoveryClientProtocol client) { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("Reference") ); dt.Columns.Add(new DataColumn("Type") ); // Iterate over the references in the discovered document, displaying their type. foreach (DictionaryEntry entry in client.References) { dr = dt.NewRow(); dr[0] = (string) entry.Key; dr[1] = entry.Value.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> <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.References プロパティを検索する場合は、下記のリンクをクリックしてください。

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