Bagikan melalui


DiscoveryClientProtocol.ResolveOneLevel Metode

Definisi

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 .

Berlaku untuk