DiscoveryClientProtocol.ResolveOneLevel メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
References 内の探索ドキュメント、XML スキーマ定義 (XSD) スキーマ、およびサービスの説明へのすべての参照と同様に探索ドキュメントで見つかった参照も解決します。
public:
void ResolveOneLevel();
public void ResolveOneLevel ();
member this.ResolveOneLevel : unit -> unit
Public Sub ResolveOneLevel ()
例
次のコード例は、 プロパティ内Documentsのドキュメントに関する詳細と、XML Web サービスの検出中に各ドキュメントで見つかった参照を 設定DataGridする Web フォームです。 メソッドは PopulateGrid
、 DataGrid の呼び出しの結果 DiscoverAny を入力し、その後に への ResolveOneLevel呼び出しを行います。
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 references just one level deep/
client.ResolveOneLevel();
}
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>";
}
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 references just one level deep.
client.ResolveOneLevel()
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
注釈
ResolveOneLevel は、見つけたすべての有効な参照を解決し、 Documents プロパティに配置します。 と のResolveOneLevel両方ResolveAllで、 プロパティの XSD スキーマとサービスの説明をReferencesダウンロードして確認します。 ただし、2 つの方法では、検出ドキュメントの処理方法が異なります。 ResolveOneLevel は、 プロパティ内の探索ドキュメント内のすべての参照を References 解決します。 探索ドキュメントに他の探索ドキュメントへの参照が含まれている場合は、 ResolveOneLevel それらの検出ドキュメントのみを解決します。 1 レベル深く入れ子になった検出ドキュメントで見つかった検出ドキュメントは によって ResolveOneLevel解決されません。一方 ResolveAll 、すべて解決されます。 ResolveAll は、参照がなくなったまで、入れ子になった探索ドキュメント内の参照を解決し続けます。
によって ResolveOneLevel 実行される検証プロセス中に発生したエラーは、発生した時点でスローされるのではなく、収集されて プロパティに Errors 追加されます。
適用対象
.NET