DiscoveryClientProtocol.ResolveOneLevel Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyelesaikan semua referensi ke dokumen penemuan, skema Definisi Skema XML (XSD) dan deskripsi layanan di References, serta referensi yang ditemukan dalam dokumen penemuan tersebut.
public:
void ResolveOneLevel();
public void ResolveOneLevel();
member this.ResolveOneLevel : unit -> unit
Public Sub ResolveOneLevel ()
Contoh
Contoh kode berikut adalah Formulir Web yang mengisi DataGrid dengan detail tentang dokumen di Documents properti bersama dengan referensi yang ditemukan di setiap dokumen selama penemuan layanan Web XML. Metode PopulateGrid mengisi DataGrid dengan hasil dari DiscoverAny pemanggilan diikuti dengan panggilan ke 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
Keterangan
ResolveOneLevel menyelesaikan semua referensi valid yang ditemukannya dan menempatkannya di Documents properti . Baik ResolveAll dan ResolveOneLevel unduh dan verifikasi skema XSD dan deskripsi layanan di References properti . Namun, dua metode tersebut berbeda dalam cara mereka menangani dokumen penemuan. ResolveOneLevel menyelesaikan semua referensi dalam dokumen penemuan dalam References properti . Jika dokumen penemuan berisi referensi ke dokumen penemuan lain, ResolveOneLevel hanya menyelesaikan dokumen penemuan tersebut. Dokumen penemuan yang ditemukan dalam dokumen penemuan yang berlapis satu tingkat kedalaman tidak diselesaikan oleh ResolveOneLevel; sedangkan ResolveAll menyelesaikan semuanya. ResolveAll terus menyelesaikan referensi dalam dokumen penemuan berlapis sampai tidak ada referensi lagi.
Kesalahan yang terjadi selama proses verifikasi yang dilakukan oleh ResolveOneLevel tidak dilemparkan pada saat terjadinya, melainkan dikumpulkan dan ditambahkan ke Errors properti .